// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.239
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace SolidCP.Providers.VirtualizationForPC.SVMMService {
    using System.Runtime.Serialization;
    using System;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ISOInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class ISOInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DirectoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string SharePathField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long SizeField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Directory {
            get {
                return this.DirectoryField;
            }
            set {
                if ((object.ReferenceEquals(this.DirectoryField, value) != true)) {
                    this.DirectoryField = value;
                    this.RaisePropertyChanged("Directory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string SharePath {
            get {
                return this.SharePathField;
            }
            set {
                if ((object.ReferenceEquals(this.SharePathField, value) != true)) {
                    this.SharePathField = value;
                    this.RaisePropertyChanged("SharePath");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long Size {
            get {
                return this.SizeField;
            }
            set {
                if ((this.SizeField.Equals(value) != true)) {
                    this.SizeField = value;
                    this.RaisePropertyChanged("Size");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
    [System.SerializableAttribute()]
    public partial class HostingServiceFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ErrorMessageField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OperationField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ErrorMessage {
            get {
                return this.ErrorMessageField;
            }
            set {
                if ((object.ReferenceEquals(this.ErrorMessageField, value) != true)) {
                    this.ErrorMessageField = value;
                    this.RaisePropertyChanged("ErrorMessage");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Operation {
            get {
                return this.OperationField;
            }
            set {
                if ((object.ReferenceEquals(this.OperationField, value) != true)) {
                    this.OperationField = value;
                    this.RaisePropertyChanged("Operation");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ProcessorTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class ProcessorTypeInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ScriptInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class ScriptInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DirectoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsPowershellScriptField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string SharePathField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Directory {
            get {
                return this.DirectoryField;
            }
            set {
                if ((object.ReferenceEquals(this.DirectoryField, value) != true)) {
                    this.DirectoryField = value;
                    this.RaisePropertyChanged("Directory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsPowershellScript {
            get {
                return this.IsPowershellScriptField;
            }
            set {
                if ((this.IsPowershellScriptField.Equals(value) != true)) {
                    this.IsPowershellScriptField = value;
                    this.RaisePropertyChanged("IsPowershellScript");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string SharePath {
            get {
                return this.SharePathField;
            }
            set {
                if ((object.ReferenceEquals(this.SharePathField, value) != true)) {
                    this.SharePathField = value;
                    this.RaisePropertyChanged("SharePath");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="OperatingSystemInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class OperatingSystemInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ArchitectureInfo ArchitectureField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsCustomizationAllowedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.ProductTypeInfo> ProductTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool RequiresPIDInSysprepField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool RequiresXMLSysprepFormatField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool RequiresadministratorAccountNameInSysprepField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VersionInfo VersionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.WindowsEditionInfo> WindowsEditionField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ArchitectureInfo Architecture {
            get {
                return this.ArchitectureField;
            }
            set {
                if ((this.ArchitectureField.Equals(value) != true)) {
                    this.ArchitectureField = value;
                    this.RaisePropertyChanged("Architecture");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsCustomizationAllowed {
            get {
                return this.IsCustomizationAllowedField;
            }
            set {
                if ((this.IsCustomizationAllowedField.Equals(value) != true)) {
                    this.IsCustomizationAllowedField = value;
                    this.RaisePropertyChanged("IsCustomizationAllowed");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.ProductTypeInfo> ProductType {
            get {
                return this.ProductTypeField;
            }
            set {
                if ((this.ProductTypeField.Equals(value) != true)) {
                    this.ProductTypeField = value;
                    this.RaisePropertyChanged("ProductType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool RequiresPIDInSysprep {
            get {
                return this.RequiresPIDInSysprepField;
            }
            set {
                if ((this.RequiresPIDInSysprepField.Equals(value) != true)) {
                    this.RequiresPIDInSysprepField = value;
                    this.RaisePropertyChanged("RequiresPIDInSysprep");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool RequiresXMLSysprepFormat {
            get {
                return this.RequiresXMLSysprepFormatField;
            }
            set {
                if ((this.RequiresXMLSysprepFormatField.Equals(value) != true)) {
                    this.RequiresXMLSysprepFormatField = value;
                    this.RaisePropertyChanged("RequiresXMLSysprepFormat");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool RequiresadministratorAccountNameInSysprep {
            get {
                return this.RequiresadministratorAccountNameInSysprepField;
            }
            set {
                if ((this.RequiresadministratorAccountNameInSysprepField.Equals(value) != true)) {
                    this.RequiresadministratorAccountNameInSysprepField = value;
                    this.RaisePropertyChanged("RequiresadministratorAccountNameInSysprep");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VersionInfo Version {
            get {
                return this.VersionField;
            }
            set {
                if ((object.ReferenceEquals(this.VersionField, value) != true)) {
                    this.VersionField = value;
                    this.RaisePropertyChanged("Version");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.WindowsEditionInfo> WindowsEdition {
            get {
                return this.WindowsEditionField;
            }
            set {
                if ((this.WindowsEditionField.Equals(value) != true)) {
                    this.WindowsEditionField = value;
                    this.RaisePropertyChanged("WindowsEdition");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VersionInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VersionInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int BuildField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MajorField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private short MajorRevisionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MinorField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private short MinorRevisionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int RevisionField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Build {
            get {
                return this.BuildField;
            }
            set {
                if ((this.BuildField.Equals(value) != true)) {
                    this.BuildField = value;
                    this.RaisePropertyChanged("Build");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Major {
            get {
                return this.MajorField;
            }
            set {
                if ((this.MajorField.Equals(value) != true)) {
                    this.MajorField = value;
                    this.RaisePropertyChanged("Major");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public short MajorRevision {
            get {
                return this.MajorRevisionField;
            }
            set {
                if ((this.MajorRevisionField.Equals(value) != true)) {
                    this.MajorRevisionField = value;
                    this.RaisePropertyChanged("MajorRevision");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Minor {
            get {
                return this.MinorField;
            }
            set {
                if ((this.MinorField.Equals(value) != true)) {
                    this.MinorField = value;
                    this.RaisePropertyChanged("Minor");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public short MinorRevision {
            get {
                return this.MinorRevisionField;
            }
            set {
                if ((this.MinorRevisionField.Equals(value) != true)) {
                    this.MinorRevisionField = value;
                    this.RaisePropertyChanged("MinorRevision");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Revision {
            get {
                return this.RevisionField;
            }
            set {
                if ((this.RevisionField.Equals(value) != true)) {
                    this.RevisionField = value;
                    this.RaisePropertyChanged("Revision");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ArchitectureInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum ArchitectureInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        x86 = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        amd64 = 1,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ProductTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum ProductTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UNKNOWN = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VER_NT_WORKSTATION = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VER_NT_DOMAIN_CONTROLLER = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VER_NT_SERVER = 3,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="WindowsEditionInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum WindowsEditionInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Standard = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Enterprise = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Datacenter = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Web = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SmallBusiness = 4,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualDiskDriveInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualDiskDriveInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte BusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo BusTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsVHDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte LUNField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte Bus {
            get {
                return this.BusField;
            }
            set {
                if ((this.BusField.Equals(value) != true)) {
                    this.BusField = value;
                    this.RaisePropertyChanged("Bus");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo BusType {
            get {
                return this.BusTypeField;
            }
            set {
                if ((this.BusTypeField.Equals(value) != true)) {
                    this.BusTypeField = value;
                    this.RaisePropertyChanged("BusType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsVHD {
            get {
                return this.IsVHDField;
            }
            set {
                if ((this.IsVHDField.Equals(value) != true)) {
                    this.IsVHDField = value;
                    this.RaisePropertyChanged("IsVHD");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte LUN {
            get {
                return this.LUNField;
            }
            set {
                if ((this.LUNField.Equals(value) != true)) {
                    this.LUNField = value;
                    this.RaisePropertyChanged("LUN");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VHDBusTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VHDBusTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        IDE = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SCSI = 2,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VHDTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VHDTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnknownType = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DynamicallyExpanding = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        FixedSize = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Differencing = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        LinkedPhysical = 4,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="TemplateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class TemplateInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime AddedTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string AdminField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AdminPasswordhasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrderField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte CPUCountField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUMaxField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUReserveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime CreationTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] CustomPropertiesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int DiskIOField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DomainAdminField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool DomainAdminPasswordHasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool EnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ExpectedCPUUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string FullNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] GuiRunOnceCommandsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid HostIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string HostNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string JoinDomainField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string JoinWorkgroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LibraryGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUForMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUFunctionalityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool MergeAnswerFileField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ModifiedTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int NetworkUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystemField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OrgNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerSidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ProductKeyHasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo SysprepScriptField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TagField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<int> TimeZoneField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong TotalVHDCapacityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] VMCheckpointsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPortsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StandaloneVirtualhardDiskInfo[] VirtualHardDisksField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool isHighlyAvailableField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime AddedTime {
            get {
                return this.AddedTimeField;
            }
            set {
                if ((this.AddedTimeField.Equals(value) != true)) {
                    this.AddedTimeField = value;
                    this.RaisePropertyChanged("AddedTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Admin {
            get {
                return this.AdminField;
            }
            set {
                if ((object.ReferenceEquals(this.AdminField, value) != true)) {
                    this.AdminField = value;
                    this.RaisePropertyChanged("Admin");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AdminPasswordhasValue {
            get {
                return this.AdminPasswordhasValueField;
            }
            set {
                if ((this.AdminPasswordhasValueField.Equals(value) != true)) {
                    this.AdminPasswordhasValueField = value;
                    this.RaisePropertyChanged("AdminPasswordhasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrder {
            get {
                return this.BootOrderField;
            }
            set {
                if ((object.ReferenceEquals(this.BootOrderField, value) != true)) {
                    this.BootOrderField = value;
                    this.RaisePropertyChanged("BootOrder");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte CPUCount {
            get {
                return this.CPUCountField;
            }
            set {
                if ((this.CPUCountField.Equals(value) != true)) {
                    this.CPUCountField = value;
                    this.RaisePropertyChanged("CPUCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUMax {
            get {
                return this.CPUMaxField;
            }
            set {
                if ((this.CPUMaxField.Equals(value) != true)) {
                    this.CPUMaxField = value;
                    this.RaisePropertyChanged("CPUMax");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUReserve {
            get {
                return this.CPUReserveField;
            }
            set {
                if ((this.CPUReserveField.Equals(value) != true)) {
                    this.CPUReserveField = value;
                    this.RaisePropertyChanged("CPUReserve");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUType {
            get {
                return this.CPUTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.CPUTypeField, value) != true)) {
                    this.CPUTypeField = value;
                    this.RaisePropertyChanged("CPUType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerName {
            get {
                return this.ComputerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameField, value) != true)) {
                    this.ComputerNameField = value;
                    this.RaisePropertyChanged("ComputerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime CreationTime {
            get {
                return this.CreationTimeField;
            }
            set {
                if ((this.CreationTimeField.Equals(value) != true)) {
                    this.CreationTimeField = value;
                    this.RaisePropertyChanged("CreationTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] CustomProperties {
            get {
                return this.CustomPropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomPropertiesField, value) != true)) {
                    this.CustomPropertiesField = value;
                    this.RaisePropertyChanged("CustomProperties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int DiskIO {
            get {
                return this.DiskIOField;
            }
            set {
                if ((this.DiskIOField.Equals(value) != true)) {
                    this.DiskIOField = value;
                    this.RaisePropertyChanged("DiskIO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DomainAdmin {
            get {
                return this.DomainAdminField;
            }
            set {
                if ((object.ReferenceEquals(this.DomainAdminField, value) != true)) {
                    this.DomainAdminField = value;
                    this.RaisePropertyChanged("DomainAdmin");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool DomainAdminPasswordHasValue {
            get {
                return this.DomainAdminPasswordHasValueField;
            }
            set {
                if ((this.DomainAdminPasswordHasValueField.Equals(value) != true)) {
                    this.DomainAdminPasswordHasValueField = value;
                    this.RaisePropertyChanged("DomainAdminPasswordHasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool Enabled {
            get {
                return this.EnabledField;
            }
            set {
                if ((this.EnabledField.Equals(value) != true)) {
                    this.EnabledField = value;
                    this.RaisePropertyChanged("Enabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ExpectedCPUUtilization {
            get {
                return this.ExpectedCPUUtilizationField;
            }
            set {
                if ((this.ExpectedCPUUtilizationField.Equals(value) != true)) {
                    this.ExpectedCPUUtilizationField = value;
                    this.RaisePropertyChanged("ExpectedCPUUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FullName {
            get {
                return this.FullNameField;
            }
            set {
                if ((object.ReferenceEquals(this.FullNameField, value) != true)) {
                    this.FullNameField = value;
                    this.RaisePropertyChanged("FullName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] GuiRunOnceCommands {
            get {
                return this.GuiRunOnceCommandsField;
            }
            set {
                if ((object.ReferenceEquals(this.GuiRunOnceCommandsField, value) != true)) {
                    this.GuiRunOnceCommandsField = value;
                    this.RaisePropertyChanged("GuiRunOnceCommands");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid HostId {
            get {
                return this.HostIdField;
            }
            set {
                if ((this.HostIdField.Equals(value) != true)) {
                    this.HostIdField = value;
                    this.RaisePropertyChanged("HostId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string HostName {
            get {
                return this.HostNameField;
            }
            set {
                if ((object.ReferenceEquals(this.HostNameField, value) != true)) {
                    this.HostNameField = value;
                    this.RaisePropertyChanged("HostName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string JoinDomain {
            get {
                return this.JoinDomainField;
            }
            set {
                if ((object.ReferenceEquals(this.JoinDomainField, value) != true)) {
                    this.JoinDomainField = value;
                    this.RaisePropertyChanged("JoinDomain");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string JoinWorkgroup {
            get {
                return this.JoinWorkgroupField;
            }
            set {
                if ((object.ReferenceEquals(this.JoinWorkgroupField, value) != true)) {
                    this.JoinWorkgroupField = value;
                    this.RaisePropertyChanged("JoinWorkgroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string LibraryGroup {
            get {
                return this.LibraryGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryGroupField, value) != true)) {
                    this.LibraryGroupField = value;
                    this.RaisePropertyChanged("LibraryGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServer {
            get {
                return this.LibraryServerField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryServerField, value) != true)) {
                    this.LibraryServerField = value;
                    this.RaisePropertyChanged("LibraryServer");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUForMigration {
            get {
                return this.LimitCPUForMigrationField;
            }
            set {
                if ((this.LimitCPUForMigrationField.Equals(value) != true)) {
                    this.LimitCPUForMigrationField = value;
                    this.RaisePropertyChanged("LimitCPUForMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUFunctionality {
            get {
                return this.LimitCPUFunctionalityField;
            }
            set {
                if ((this.LimitCPUFunctionalityField.Equals(value) != true)) {
                    this.LimitCPUFunctionalityField = value;
                    this.RaisePropertyChanged("LimitCPUFunctionality");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Memory {
            get {
                return this.MemoryField;
            }
            set {
                if ((this.MemoryField.Equals(value) != true)) {
                    this.MemoryField = value;
                    this.RaisePropertyChanged("Memory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool MergeAnswerFile {
            get {
                return this.MergeAnswerFileField;
            }
            set {
                if ((this.MergeAnswerFileField.Equals(value) != true)) {
                    this.MergeAnswerFileField = value;
                    this.RaisePropertyChanged("MergeAnswerFile");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime ModifiedTime {
            get {
                return this.ModifiedTimeField;
            }
            set {
                if ((this.ModifiedTimeField.Equals(value) != true)) {
                    this.ModifiedTimeField = value;
                    this.RaisePropertyChanged("ModifiedTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int NetworkUtilization {
            get {
                return this.NetworkUtilizationField;
            }
            set {
                if ((this.NetworkUtilizationField.Equals(value) != true)) {
                    this.NetworkUtilizationField = value;
                    this.RaisePropertyChanged("NetworkUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystem {
            get {
                return this.OperatingSystemField;
            }
            set {
                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
                    this.OperatingSystemField = value;
                    this.RaisePropertyChanged("OperatingSystem");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string OrgName {
            get {
                return this.OrgNameField;
            }
            set {
                if ((object.ReferenceEquals(this.OrgNameField, value) != true)) {
                    this.OrgNameField = value;
                    this.RaisePropertyChanged("OrgName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string OwnerSid {
            get {
                return this.OwnerSidField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerSidField, value) != true)) {
                    this.OwnerSidField = value;
                    this.RaisePropertyChanged("OwnerSid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ProductKeyHasValue {
            get {
                return this.ProductKeyHasValueField;
            }
            set {
                if ((this.ProductKeyHasValueField.Equals(value) != true)) {
                    this.ProductKeyHasValueField = value;
                    this.RaisePropertyChanged("ProductKeyHasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo SysprepScript {
            get {
                return this.SysprepScriptField;
            }
            set {
                if ((object.ReferenceEquals(this.SysprepScriptField, value) != true)) {
                    this.SysprepScriptField = value;
                    this.RaisePropertyChanged("SysprepScript");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Tag {
            get {
                return this.TagField;
            }
            set {
                if ((object.ReferenceEquals(this.TagField, value) != true)) {
                    this.TagField = value;
                    this.RaisePropertyChanged("Tag");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> TimeZone {
            get {
                return this.TimeZoneField;
            }
            set {
                if ((this.TimeZoneField.Equals(value) != true)) {
                    this.TimeZoneField = value;
                    this.RaisePropertyChanged("TimeZone");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong TotalVHDCapacity {
            get {
                return this.TotalVHDCapacityField;
            }
            set {
                if ((this.TotalVHDCapacityField.Equals(value) != true)) {
                    this.TotalVHDCapacityField = value;
                    this.RaisePropertyChanged("TotalVHDCapacity");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] VMCheckpoints {
            get {
                return this.VMCheckpointsField;
            }
            set {
                if ((object.ReferenceEquals(this.VMCheckpointsField, value) != true)) {
                    this.VMCheckpointsField = value;
                    this.RaisePropertyChanged("VMCheckpoints");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPorts {
            get {
                return this.VirtualCOMPortsField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualCOMPortsField, value) != true)) {
                    this.VirtualCOMPortsField = value;
                    this.RaisePropertyChanged("VirtualCOMPorts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrives {
            get {
                return this.VirtualDVDDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDVDDrivesField, value) != true)) {
                    this.VirtualDVDDrivesField = value;
                    this.RaisePropertyChanged("VirtualDVDDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrives {
            get {
                return this.VirtualDiskDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDiskDrivesField, value) != true)) {
                    this.VirtualDiskDrivesField = value;
                    this.RaisePropertyChanged("VirtualDiskDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StandaloneVirtualhardDiskInfo[] VirtualHardDisks {
            get {
                return this.VirtualHardDisksField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualHardDisksField, value) != true)) {
                    this.VirtualHardDisksField = value;
                    this.RaisePropertyChanged("VirtualHardDisks");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdapters {
            get {
                return this.VirtualNetworkAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualNetworkAdaptersField, value) != true)) {
                    this.VirtualNetworkAdaptersField = value;
                    this.RaisePropertyChanged("VirtualNetworkAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdapters {
            get {
                return this.VirtualSCSIAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualSCSIAdaptersField, value) != true)) {
                    this.VirtualSCSIAdaptersField = value;
                    this.RaisePropertyChanged("VirtualSCSIAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool isHighlyAvailable {
            get {
                return this.isHighlyAvailableField;
            }
            set {
                if ((this.isHighlyAvailableField.Equals(value) != true)) {
                    this.isHighlyAvailableField = value;
                    this.RaisePropertyChanged("isHighlyAvailable");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LibraryServerInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class LibraryServerInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AllowUnencryptedTransfersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DomainNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string FQDNField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsClusterNodeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsVirtualClusterNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LibraryGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ComputerStateInfo StatusField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AllowUnencryptedTransfers {
            get {
                return this.AllowUnencryptedTransfersField;
            }
            set {
                if ((this.AllowUnencryptedTransfersField.Equals(value) != true)) {
                    this.AllowUnencryptedTransfersField = value;
                    this.RaisePropertyChanged("AllowUnencryptedTransfers");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerName {
            get {
                return this.ComputerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameField, value) != true)) {
                    this.ComputerNameField = value;
                    this.RaisePropertyChanged("ComputerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DomainName {
            get {
                return this.DomainNameField;
            }
            set {
                if ((object.ReferenceEquals(this.DomainNameField, value) != true)) {
                    this.DomainNameField = value;
                    this.RaisePropertyChanged("DomainName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FQDN {
            get {
                return this.FQDNField;
            }
            set {
                if ((object.ReferenceEquals(this.FQDNField, value) != true)) {
                    this.FQDNField = value;
                    this.RaisePropertyChanged("FQDN");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsClusterNode {
            get {
                return this.IsClusterNodeField;
            }
            set {
                if ((this.IsClusterNodeField.Equals(value) != true)) {
                    this.IsClusterNodeField = value;
                    this.RaisePropertyChanged("IsClusterNode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsVirtualClusterName {
            get {
                return this.IsVirtualClusterNameField;
            }
            set {
                if ((this.IsVirtualClusterNameField.Equals(value) != true)) {
                    this.IsVirtualClusterNameField = value;
                    this.RaisePropertyChanged("IsVirtualClusterName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string LibraryGroup {
            get {
                return this.LibraryGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryGroupField, value) != true)) {
                    this.LibraryGroupField = value;
                    this.RaisePropertyChanged("LibraryGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ComputerStateInfo Status {
            get {
                return this.StatusField;
            }
            set {
                if ((this.StatusField.Equals(value) != true)) {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AvailableForPlacementField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private uint AvailableMemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private uint CPUSpeedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ComputerStateInfo ComputerStateField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ushort CoresPerCPUField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte CpuUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DomainNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string FQDNField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo HostGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool SupportsLiveMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong TotalMemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] VMPathsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualizationPlatformInfo VirtualizationPlatformField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AvailableForPlacement {
            get {
                return this.AvailableForPlacementField;
            }
            set {
                if ((this.AvailableForPlacementField.Equals(value) != true)) {
                    this.AvailableForPlacementField = value;
                    this.RaisePropertyChanged("AvailableForPlacement");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public uint AvailableMemory {
            get {
                return this.AvailableMemoryField;
            }
            set {
                if ((this.AvailableMemoryField.Equals(value) != true)) {
                    this.AvailableMemoryField = value;
                    this.RaisePropertyChanged("AvailableMemory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public uint CPUSpeed {
            get {
                return this.CPUSpeedField;
            }
            set {
                if ((this.CPUSpeedField.Equals(value) != true)) {
                    this.CPUSpeedField = value;
                    this.RaisePropertyChanged("CPUSpeed");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerName {
            get {
                return this.ComputerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameField, value) != true)) {
                    this.ComputerNameField = value;
                    this.RaisePropertyChanged("ComputerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ComputerStateInfo ComputerState {
            get {
                return this.ComputerStateField;
            }
            set {
                if ((this.ComputerStateField.Equals(value) != true)) {
                    this.ComputerStateField = value;
                    this.RaisePropertyChanged("ComputerState");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ushort CoresPerCPU {
            get {
                return this.CoresPerCPUField;
            }
            set {
                if ((this.CoresPerCPUField.Equals(value) != true)) {
                    this.CoresPerCPUField = value;
                    this.RaisePropertyChanged("CoresPerCPU");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte CpuUtilization {
            get {
                return this.CpuUtilizationField;
            }
            set {
                if ((this.CpuUtilizationField.Equals(value) != true)) {
                    this.CpuUtilizationField = value;
                    this.RaisePropertyChanged("CpuUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DomainName {
            get {
                return this.DomainNameField;
            }
            set {
                if ((object.ReferenceEquals(this.DomainNameField, value) != true)) {
                    this.DomainNameField = value;
                    this.RaisePropertyChanged("DomainName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FQDN {
            get {
                return this.FQDNField;
            }
            set {
                if ((object.ReferenceEquals(this.FQDNField, value) != true)) {
                    this.FQDNField = value;
                    this.RaisePropertyChanged("FQDN");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo HostGroup {
            get {
                return this.HostGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.HostGroupField, value) != true)) {
                    this.HostGroupField = value;
                    this.RaisePropertyChanged("HostGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool SupportsLiveMigration {
            get {
                return this.SupportsLiveMigrationField;
            }
            set {
                if ((this.SupportsLiveMigrationField.Equals(value) != true)) {
                    this.SupportsLiveMigrationField = value;
                    this.RaisePropertyChanged("SupportsLiveMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong TotalMemory {
            get {
                return this.TotalMemoryField;
            }
            set {
                if ((this.TotalMemoryField.Equals(value) != true)) {
                    this.TotalMemoryField = value;
                    this.RaisePropertyChanged("TotalMemory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] VMPaths {
            get {
                return this.VMPathsField;
            }
            set {
                if ((object.ReferenceEquals(this.VMPathsField, value) != true)) {
                    this.VMPathsField = value;
                    this.RaisePropertyChanged("VMPaths");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualizationPlatformInfo VirtualizationPlatform {
            get {
                return this.VirtualizationPlatformField;
            }
            set {
                if ((this.VirtualizationPlatformField.Equals(value) != true)) {
                    this.VirtualizationPlatformField = value;
                    this.RaisePropertyChanged("VirtualizationPlatform");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="BootDeviceInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum BootDeviceInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CD = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Floppy = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        IdeHardDrive = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        PxeBoot = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 1000,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VMCheckpointInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VMCheckpointInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime AddedTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CheckpointIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ParentCheckpointIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid VMIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.CheckpointHardwareProfileInfo checkpoitHWProfileField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime AddedTime {
            get {
                return this.AddedTimeField;
            }
            set {
                if ((this.AddedTimeField.Equals(value) != true)) {
                    this.AddedTimeField = value;
                    this.RaisePropertyChanged("AddedTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CheckpointID {
            get {
                return this.CheckpointIDField;
            }
            set {
                if ((object.ReferenceEquals(this.CheckpointIDField, value) != true)) {
                    this.CheckpointIDField = value;
                    this.RaisePropertyChanged("CheckpointID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ParentCheckpointID {
            get {
                return this.ParentCheckpointIDField;
            }
            set {
                if ((object.ReferenceEquals(this.ParentCheckpointIDField, value) != true)) {
                    this.ParentCheckpointIDField = value;
                    this.RaisePropertyChanged("ParentCheckpointID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentID {
            get {
                return this.ParentIDField;
            }
            set {
                if ((this.ParentIDField.Equals(value) != true)) {
                    this.ParentIDField = value;
                    this.RaisePropertyChanged("ParentID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid VMId {
            get {
                return this.VMIdField;
            }
            set {
                if ((this.VMIdField.Equals(value) != true)) {
                    this.VMIdField = value;
                    this.RaisePropertyChanged("VMId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrives {
            get {
                return this.VirtualDiskDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDiskDrivesField, value) != true)) {
                    this.VirtualDiskDrivesField = value;
                    this.RaisePropertyChanged("VirtualDiskDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.CheckpointHardwareProfileInfo checkpoitHWProfile {
            get {
                return this.checkpoitHWProfileField;
            }
            set {
                if ((object.ReferenceEquals(this.checkpoitHWProfileField, value) != true)) {
                    this.checkpoitHWProfileField = value;
                    this.RaisePropertyChanged("checkpoitHWProfile");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualCOMPortInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualCOMPortInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NamedPipeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte PortNumberField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TextfileField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string NamedPipe {
            get {
                return this.NamedPipeField;
            }
            set {
                if ((object.ReferenceEquals(this.NamedPipeField, value) != true)) {
                    this.NamedPipeField = value;
                    this.RaisePropertyChanged("NamedPipe");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte PortNumber {
            get {
                return this.PortNumberField;
            }
            set {
                if ((this.PortNumberField.Equals(value) != true)) {
                    this.PortNumberField = value;
                    this.RaisePropertyChanged("PortNumber");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Textfile {
            get {
                return this.TextfileField;
            }
            set {
                if ((object.ReferenceEquals(this.TextfileField, value) != true)) {
                    this.TextfileField = value;
                    this.RaisePropertyChanged("Textfile");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualDVDDriveInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualDVDDriveInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte BusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo BusTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string HostDriveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo ISOField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ISOLinkedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte LUNField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte Bus {
            get {
                return this.BusField;
            }
            set {
                if ((this.BusField.Equals(value) != true)) {
                    this.BusField = value;
                    this.RaisePropertyChanged("Bus");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo BusType {
            get {
                return this.BusTypeField;
            }
            set {
                if ((this.BusTypeField.Equals(value) != true)) {
                    this.BusTypeField = value;
                    this.RaisePropertyChanged("BusType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string HostDrive {
            get {
                return this.HostDriveField;
            }
            set {
                if ((object.ReferenceEquals(this.HostDriveField, value) != true)) {
                    this.HostDriveField = value;
                    this.RaisePropertyChanged("HostDrive");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo ISO {
            get {
                return this.ISOField;
            }
            set {
                if ((object.ReferenceEquals(this.ISOField, value) != true)) {
                    this.ISOField = value;
                    this.RaisePropertyChanged("ISO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ISOLinked {
            get {
                return this.ISOLinkedField;
            }
            set {
                if ((this.ISOLinkedField.Equals(value) != true)) {
                    this.ISOLinkedField = value;
                    this.RaisePropertyChanged("ISOLinked");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte LUN {
            get {
                return this.LUNField;
            }
            set {
                if ((this.LUNField.Equals(value) != true)) {
                    this.LUNField = value;
                    this.RaisePropertyChanged("LUN");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="StandaloneVirtualhardDiskInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class StandaloneVirtualhardDiskInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DirectoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong MaximumSizeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystemField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string SharePathField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long SizeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo VHDTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Directory {
            get {
                return this.DirectoryField;
            }
            set {
                if ((object.ReferenceEquals(this.DirectoryField, value) != true)) {
                    this.DirectoryField = value;
                    this.RaisePropertyChanged("Directory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong MaximumSize {
            get {
                return this.MaximumSizeField;
            }
            set {
                if ((this.MaximumSizeField.Equals(value) != true)) {
                    this.MaximumSizeField = value;
                    this.RaisePropertyChanged("MaximumSize");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystem {
            get {
                return this.OperatingSystemField;
            }
            set {
                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
                    this.OperatingSystemField = value;
                    this.RaisePropertyChanged("OperatingSystem");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string SharePath {
            get {
                return this.SharePathField;
            }
            set {
                if ((object.ReferenceEquals(this.SharePathField, value) != true)) {
                    this.SharePathField = value;
                    this.RaisePropertyChanged("SharePath");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long Size {
            get {
                return this.SizeField;
            }
            set {
                if ((this.SizeField.Equals(value) != true)) {
                    this.SizeField = value;
                    this.RaisePropertyChanged("Size");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo VHDType {
            get {
                return this.VHDTypeField;
            }
            set {
                if ((this.VHDTypeField.Equals(value) != true)) {
                    this.VHDTypeField = value;
                    this.RaisePropertyChanged("VHDType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualNetworkAdapterInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualNetworkAdapterInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool MACAddressesSpoolingEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string PhysicalAddressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TagField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ushort VLanIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool VMNetworkOptimizationEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string VirtualNetworkField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.NICTypeInfo VirtualNetworkAdapterTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool VlanEnabledField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool MACAddressesSpoolingEnabled {
            get {
                return this.MACAddressesSpoolingEnabledField;
            }
            set {
                if ((this.MACAddressesSpoolingEnabledField.Equals(value) != true)) {
                    this.MACAddressesSpoolingEnabledField = value;
                    this.RaisePropertyChanged("MACAddressesSpoolingEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentId {
            get {
                return this.ParentIdField;
            }
            set {
                if ((this.ParentIdField.Equals(value) != true)) {
                    this.ParentIdField = value;
                    this.RaisePropertyChanged("ParentId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PhysicalAddress {
            get {
                return this.PhysicalAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.PhysicalAddressField, value) != true)) {
                    this.PhysicalAddressField = value;
                    this.RaisePropertyChanged("PhysicalAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Tag {
            get {
                return this.TagField;
            }
            set {
                if ((object.ReferenceEquals(this.TagField, value) != true)) {
                    this.TagField = value;
                    this.RaisePropertyChanged("Tag");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ushort VLanId {
            get {
                return this.VLanIdField;
            }
            set {
                if ((this.VLanIdField.Equals(value) != true)) {
                    this.VLanIdField = value;
                    this.RaisePropertyChanged("VLanId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool VMNetworkOptimizationEnabled {
            get {
                return this.VMNetworkOptimizationEnabledField;
            }
            set {
                if ((this.VMNetworkOptimizationEnabledField.Equals(value) != true)) {
                    this.VMNetworkOptimizationEnabledField = value;
                    this.RaisePropertyChanged("VMNetworkOptimizationEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string VirtualNetwork {
            get {
                return this.VirtualNetworkField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualNetworkField, value) != true)) {
                    this.VirtualNetworkField = value;
                    this.RaisePropertyChanged("VirtualNetwork");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.NICTypeInfo VirtualNetworkAdapterType {
            get {
                return this.VirtualNetworkAdapterTypeField;
            }
            set {
                if ((this.VirtualNetworkAdapterTypeField.Equals(value) != true)) {
                    this.VirtualNetworkAdapterTypeField = value;
                    this.RaisePropertyChanged("VirtualNetworkAdapterType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool VlanEnabled {
            get {
                return this.VlanEnabledField;
            }
            set {
                if ((this.VlanEnabledField.Equals(value) != true)) {
                    this.VlanEnabledField = value;
                    this.RaisePropertyChanged("VlanEnabled");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualSCSIAdapterInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualSCSIAdapterInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte AdapterIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte BusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool SharedField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte AdapterID {
            get {
                return this.AdapterIDField;
            }
            set {
                if ((this.AdapterIDField.Equals(value) != true)) {
                    this.AdapterIDField = value;
                    this.RaisePropertyChanged("AdapterID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte Bus {
            get {
                return this.BusField;
            }
            set {
                if ((this.BusField.Equals(value) != true)) {
                    this.BusField = value;
                    this.RaisePropertyChanged("Bus");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentId {
            get {
                return this.ParentIdField;
            }
            set {
                if ((this.ParentIdField.Equals(value) != true)) {
                    this.ParentIdField = value;
                    this.RaisePropertyChanged("ParentId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool Shared {
            get {
                return this.SharedField;
            }
            set {
                if ((this.SharedField.Equals(value) != true)) {
                    this.SharedField = value;
                    this.RaisePropertyChanged("Shared");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ComputerStateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum ComputerStateInfo : byte {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        AccessDenied = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Adding = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MaintenanceMode = 8,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        NotResponding = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Pending = 7,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Reassociating = 6,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Removing = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Responding = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Updating = 5,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CheckpointHardwareProfileInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class CheckpointHardwareProfileInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrderField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte CPUCountField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUMaxField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUReserveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int DiskIOField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ExpectedCPUUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsHighlyAvailableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUForMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUFunctionalityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int NetworkUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int RelativeWeightField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ShareSCSIBusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool UndoDisksEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPortsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdaptersField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrder {
            get {
                return this.BootOrderField;
            }
            set {
                if ((object.ReferenceEquals(this.BootOrderField, value) != true)) {
                    this.BootOrderField = value;
                    this.RaisePropertyChanged("BootOrder");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte CPUCount {
            get {
                return this.CPUCountField;
            }
            set {
                if ((this.CPUCountField.Equals(value) != true)) {
                    this.CPUCountField = value;
                    this.RaisePropertyChanged("CPUCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUMax {
            get {
                return this.CPUMaxField;
            }
            set {
                if ((this.CPUMaxField.Equals(value) != true)) {
                    this.CPUMaxField = value;
                    this.RaisePropertyChanged("CPUMax");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUReserve {
            get {
                return this.CPUReserveField;
            }
            set {
                if ((this.CPUReserveField.Equals(value) != true)) {
                    this.CPUReserveField = value;
                    this.RaisePropertyChanged("CPUReserve");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUType {
            get {
                return this.CPUTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.CPUTypeField, value) != true)) {
                    this.CPUTypeField = value;
                    this.RaisePropertyChanged("CPUType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int DiskIO {
            get {
                return this.DiskIOField;
            }
            set {
                if ((this.DiskIOField.Equals(value) != true)) {
                    this.DiskIOField = value;
                    this.RaisePropertyChanged("DiskIO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ExpectedCPUUtilization {
            get {
                return this.ExpectedCPUUtilizationField;
            }
            set {
                if ((this.ExpectedCPUUtilizationField.Equals(value) != true)) {
                    this.ExpectedCPUUtilizationField = value;
                    this.RaisePropertyChanged("ExpectedCPUUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ID {
            get {
                return this.IDField;
            }
            set {
                if ((this.IDField.Equals(value) != true)) {
                    this.IDField = value;
                    this.RaisePropertyChanged("ID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsHighlyAvailable {
            get {
                return this.IsHighlyAvailableField;
            }
            set {
                if ((this.IsHighlyAvailableField.Equals(value) != true)) {
                    this.IsHighlyAvailableField = value;
                    this.RaisePropertyChanged("IsHighlyAvailable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUForMigration {
            get {
                return this.LimitCPUForMigrationField;
            }
            set {
                if ((this.LimitCPUForMigrationField.Equals(value) != true)) {
                    this.LimitCPUForMigrationField = value;
                    this.RaisePropertyChanged("LimitCPUForMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUFunctionality {
            get {
                return this.LimitCPUFunctionalityField;
            }
            set {
                if ((this.LimitCPUFunctionalityField.Equals(value) != true)) {
                    this.LimitCPUFunctionalityField = value;
                    this.RaisePropertyChanged("LimitCPUFunctionality");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Memory {
            get {
                return this.MemoryField;
            }
            set {
                if ((this.MemoryField.Equals(value) != true)) {
                    this.MemoryField = value;
                    this.RaisePropertyChanged("Memory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int NetworkUtilization {
            get {
                return this.NetworkUtilizationField;
            }
            set {
                if ((this.NetworkUtilizationField.Equals(value) != true)) {
                    this.NetworkUtilizationField = value;
                    this.RaisePropertyChanged("NetworkUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int RelativeWeight {
            get {
                return this.RelativeWeightField;
            }
            set {
                if ((this.RelativeWeightField.Equals(value) != true)) {
                    this.RelativeWeightField = value;
                    this.RaisePropertyChanged("RelativeWeight");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ShareSCSIBus {
            get {
                return this.ShareSCSIBusField;
            }
            set {
                if ((this.ShareSCSIBusField.Equals(value) != true)) {
                    this.ShareSCSIBusField = value;
                    this.RaisePropertyChanged("ShareSCSIBus");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool UndoDisksEnabled {
            get {
                return this.UndoDisksEnabledField;
            }
            set {
                if ((this.UndoDisksEnabledField.Equals(value) != true)) {
                    this.UndoDisksEnabledField = value;
                    this.RaisePropertyChanged("UndoDisksEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPorts {
            get {
                return this.VirtualCOMPortsField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualCOMPortsField, value) != true)) {
                    this.VirtualCOMPortsField = value;
                    this.RaisePropertyChanged("VirtualCOMPorts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrives {
            get {
                return this.VirtualDVDDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDVDDrivesField, value) != true)) {
                    this.VirtualDVDDrivesField = value;
                    this.RaisePropertyChanged("VirtualDVDDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdapters {
            get {
                return this.VirtualNetworkAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualNetworkAdaptersField, value) != true)) {
                    this.VirtualNetworkAdaptersField = value;
                    this.RaisePropertyChanged("VirtualNetworkAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdapters {
            get {
                return this.VirtualSCSIAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualSCSIAdaptersField, value) != true)) {
                    this.VirtualSCSIAdaptersField = value;
                    this.RaisePropertyChanged("VirtualSCSIAdapters");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="NICTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum NICTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Emulated = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Synthetic = 2,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostGroupInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostGroupInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo ParentHostGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string PathField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo ParentHostGroup {
            get {
                return this.ParentHostGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.ParentHostGroupField, value) != true)) {
                    this.ParentHostGroupField = value;
                    this.RaisePropertyChanged("ParentHostGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Path {
            get {
                return this.PathField;
            }
            set {
                if ((object.ReferenceEquals(this.PathField, value) != true)) {
                    this.PathField = value;
                    this.RaisePropertyChanged("Path");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualizationPlatformInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VirtualizationPlatformInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VirtualServer = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        HyperV = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VMWareVC3 = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VMWareESX = 4,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HardwareProfileInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HardwareProfileInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrderField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte CPUCountField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUMaxField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUReserveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int DiskIOField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ExpectedCPUUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsHighlyAvailableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUForMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUFunctionalityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int NetworkUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool NumLockEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int RelativeWeightField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ShareSCSIBussField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPortsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdaptersField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrder {
            get {
                return this.BootOrderField;
            }
            set {
                if ((object.ReferenceEquals(this.BootOrderField, value) != true)) {
                    this.BootOrderField = value;
                    this.RaisePropertyChanged("BootOrder");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte CPUCount {
            get {
                return this.CPUCountField;
            }
            set {
                if ((this.CPUCountField.Equals(value) != true)) {
                    this.CPUCountField = value;
                    this.RaisePropertyChanged("CPUCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUMax {
            get {
                return this.CPUMaxField;
            }
            set {
                if ((this.CPUMaxField.Equals(value) != true)) {
                    this.CPUMaxField = value;
                    this.RaisePropertyChanged("CPUMax");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUReserve {
            get {
                return this.CPUReserveField;
            }
            set {
                if ((this.CPUReserveField.Equals(value) != true)) {
                    this.CPUReserveField = value;
                    this.RaisePropertyChanged("CPUReserve");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUType {
            get {
                return this.CPUTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.CPUTypeField, value) != true)) {
                    this.CPUTypeField = value;
                    this.RaisePropertyChanged("CPUType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int DiskIO {
            get {
                return this.DiskIOField;
            }
            set {
                if ((this.DiskIOField.Equals(value) != true)) {
                    this.DiskIOField = value;
                    this.RaisePropertyChanged("DiskIO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ExpectedCPUUtilization {
            get {
                return this.ExpectedCPUUtilizationField;
            }
            set {
                if ((this.ExpectedCPUUtilizationField.Equals(value) != true)) {
                    this.ExpectedCPUUtilizationField = value;
                    this.RaisePropertyChanged("ExpectedCPUUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsHighlyAvailable {
            get {
                return this.IsHighlyAvailableField;
            }
            set {
                if ((this.IsHighlyAvailableField.Equals(value) != true)) {
                    this.IsHighlyAvailableField = value;
                    this.RaisePropertyChanged("IsHighlyAvailable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUForMigration {
            get {
                return this.LimitCPUForMigrationField;
            }
            set {
                if ((this.LimitCPUForMigrationField.Equals(value) != true)) {
                    this.LimitCPUForMigrationField = value;
                    this.RaisePropertyChanged("LimitCPUForMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUFunctionality {
            get {
                return this.LimitCPUFunctionalityField;
            }
            set {
                if ((this.LimitCPUFunctionalityField.Equals(value) != true)) {
                    this.LimitCPUFunctionalityField = value;
                    this.RaisePropertyChanged("LimitCPUFunctionality");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Memory {
            get {
                return this.MemoryField;
            }
            set {
                if ((this.MemoryField.Equals(value) != true)) {
                    this.MemoryField = value;
                    this.RaisePropertyChanged("Memory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int NetworkUtilization {
            get {
                return this.NetworkUtilizationField;
            }
            set {
                if ((this.NetworkUtilizationField.Equals(value) != true)) {
                    this.NetworkUtilizationField = value;
                    this.RaisePropertyChanged("NetworkUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool NumLockEnabled {
            get {
                return this.NumLockEnabledField;
            }
            set {
                if ((this.NumLockEnabledField.Equals(value) != true)) {
                    this.NumLockEnabledField = value;
                    this.RaisePropertyChanged("NumLockEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int RelativeWeight {
            get {
                return this.RelativeWeightField;
            }
            set {
                if ((this.RelativeWeightField.Equals(value) != true)) {
                    this.RelativeWeightField = value;
                    this.RaisePropertyChanged("RelativeWeight");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ShareSCSIBuss {
            get {
                return this.ShareSCSIBussField;
            }
            set {
                if ((this.ShareSCSIBussField.Equals(value) != true)) {
                    this.ShareSCSIBussField = value;
                    this.RaisePropertyChanged("ShareSCSIBuss");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPorts {
            get {
                return this.VirtualCOMPortsField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualCOMPortsField, value) != true)) {
                    this.VirtualCOMPortsField = value;
                    this.RaisePropertyChanged("VirtualCOMPorts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrives {
            get {
                return this.VirtualDVDDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDVDDrivesField, value) != true)) {
                    this.VirtualDVDDrivesField = value;
                    this.RaisePropertyChanged("VirtualDVDDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdapters {
            get {
                return this.VirtualNetworkAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualNetworkAdaptersField, value) != true)) {
                    this.VirtualNetworkAdaptersField = value;
                    this.RaisePropertyChanged("VirtualNetworkAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdapters {
            get {
                return this.VirtualSCSIAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualSCSIAdaptersField, value) != true)) {
                    this.VirtualSCSIAdaptersField = value;
                    this.RaisePropertyChanged("VirtualSCSIAdapters");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="GuestOSProfileInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class GuestOSProfileInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string AdminField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AdminPasswordhasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DomainAdminField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool DomainAdminPasswordHasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string FullNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] GuiRunOnceCommandsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string JoinDomainField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string JoinWorkgroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool MergeAnswerFileField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystemField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OrgNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ProductKeyHasValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo SysprepScriptField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<int> TimeZoneField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Admin {
            get {
                return this.AdminField;
            }
            set {
                if ((object.ReferenceEquals(this.AdminField, value) != true)) {
                    this.AdminField = value;
                    this.RaisePropertyChanged("Admin");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AdminPasswordhasValue {
            get {
                return this.AdminPasswordhasValueField;
            }
            set {
                if ((this.AdminPasswordhasValueField.Equals(value) != true)) {
                    this.AdminPasswordhasValueField = value;
                    this.RaisePropertyChanged("AdminPasswordhasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerName {
            get {
                return this.ComputerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameField, value) != true)) {
                    this.ComputerNameField = value;
                    this.RaisePropertyChanged("ComputerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DomainAdmin {
            get {
                return this.DomainAdminField;
            }
            set {
                if ((object.ReferenceEquals(this.DomainAdminField, value) != true)) {
                    this.DomainAdminField = value;
                    this.RaisePropertyChanged("DomainAdmin");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool DomainAdminPasswordHasValue {
            get {
                return this.DomainAdminPasswordHasValueField;
            }
            set {
                if ((this.DomainAdminPasswordHasValueField.Equals(value) != true)) {
                    this.DomainAdminPasswordHasValueField = value;
                    this.RaisePropertyChanged("DomainAdminPasswordHasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FullName {
            get {
                return this.FullNameField;
            }
            set {
                if ((object.ReferenceEquals(this.FullNameField, value) != true)) {
                    this.FullNameField = value;
                    this.RaisePropertyChanged("FullName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] GuiRunOnceCommands {
            get {
                return this.GuiRunOnceCommandsField;
            }
            set {
                if ((object.ReferenceEquals(this.GuiRunOnceCommandsField, value) != true)) {
                    this.GuiRunOnceCommandsField = value;
                    this.RaisePropertyChanged("GuiRunOnceCommands");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string JoinDomain {
            get {
                return this.JoinDomainField;
            }
            set {
                if ((object.ReferenceEquals(this.JoinDomainField, value) != true)) {
                    this.JoinDomainField = value;
                    this.RaisePropertyChanged("JoinDomain");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string JoinWorkgroup {
            get {
                return this.JoinWorkgroupField;
            }
            set {
                if ((object.ReferenceEquals(this.JoinWorkgroupField, value) != true)) {
                    this.JoinWorkgroupField = value;
                    this.RaisePropertyChanged("JoinWorkgroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool MergeAnswerFile {
            get {
                return this.MergeAnswerFileField;
            }
            set {
                if ((this.MergeAnswerFileField.Equals(value) != true)) {
                    this.MergeAnswerFileField = value;
                    this.RaisePropertyChanged("MergeAnswerFile");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystem {
            get {
                return this.OperatingSystemField;
            }
            set {
                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
                    this.OperatingSystemField = value;
                    this.RaisePropertyChanged("OperatingSystem");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string OrgName {
            get {
                return this.OrgNameField;
            }
            set {
                if ((object.ReferenceEquals(this.OrgNameField, value) != true)) {
                    this.OrgNameField = value;
                    this.RaisePropertyChanged("OrgName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ProductKeyHasValue {
            get {
                return this.ProductKeyHasValueField;
            }
            set {
                if ((this.ProductKeyHasValueField.Equals(value) != true)) {
                    this.ProductKeyHasValueField = value;
                    this.RaisePropertyChanged("ProductKeyHasValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo SysprepScript {
            get {
                return this.SysprepScriptField;
            }
            set {
                if ((object.ReferenceEquals(this.SysprepScriptField, value) != true)) {
                    this.SysprepScriptField = value;
                    this.RaisePropertyChanged("SysprepScript");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> TimeZone {
            get {
                return this.TimeZoneField;
            }
            set {
                if ((this.TimeZoneField.Equals(value) != true)) {
                    this.TimeZoneField = value;
                    this.RaisePropertyChanged("TimeZone");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualHardDiskInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualHardDiskInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DirectoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong MaximumSizeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystemField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo ParentDiskField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string SharePathField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long SizeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo VHDTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Directory {
            get {
                return this.DirectoryField;
            }
            set {
                if ((object.ReferenceEquals(this.DirectoryField, value) != true)) {
                    this.DirectoryField = value;
                    this.RaisePropertyChanged("Directory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong MaximumSize {
            get {
                return this.MaximumSizeField;
            }
            set {
                if ((this.MaximumSizeField.Equals(value) != true)) {
                    this.MaximumSizeField = value;
                    this.RaisePropertyChanged("MaximumSize");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystem {
            get {
                return this.OperatingSystemField;
            }
            set {
                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
                    this.OperatingSystemField = value;
                    this.RaisePropertyChanged("OperatingSystem");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo ParentDisk {
            get {
                return this.ParentDiskField;
            }
            set {
                if ((object.ReferenceEquals(this.ParentDiskField, value) != true)) {
                    this.ParentDiskField = value;
                    this.RaisePropertyChanged("ParentDisk");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string SharePath {
            get {
                return this.SharePathField;
            }
            set {
                if ((object.ReferenceEquals(this.SharePathField, value) != true)) {
                    this.SharePathField = value;
                    this.RaisePropertyChanged("SharePath");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long Size {
            get {
                return this.SizeField;
            }
            set {
                if ((this.SizeField.Equals(value) != true)) {
                    this.SizeField = value;
                    this.RaisePropertyChanged("Size");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo VHDType {
            get {
                return this.VHDTypeField;
            }
            set {
                if ((this.VHDTypeField.Equals(value) != true)) {
                    this.VHDTypeField = value;
                    this.RaisePropertyChanged("VHDType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EthernetAddressTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum EthernetAddressTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Dynamic = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Static = 1,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualNetworkInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualNetworkInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool BoundToVMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DNSServersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DefaultGatewayAddressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string EnablingIPAddressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool HighlyAvailableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ushort HostBoundVlanIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NetworkAddressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NetworkMaskField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TagField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid VMHostIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostNetworkAdapterInfo[] VMHostNetworkAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string WINServersField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool BoundToVMHost {
            get {
                return this.BoundToVMHostField;
            }
            set {
                if ((this.BoundToVMHostField.Equals(value) != true)) {
                    this.BoundToVMHostField = value;
                    this.RaisePropertyChanged("BoundToVMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DNSServers {
            get {
                return this.DNSServersField;
            }
            set {
                if ((object.ReferenceEquals(this.DNSServersField, value) != true)) {
                    this.DNSServersField = value;
                    this.RaisePropertyChanged("DNSServers");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DefaultGatewayAddress {
            get {
                return this.DefaultGatewayAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.DefaultGatewayAddressField, value) != true)) {
                    this.DefaultGatewayAddressField = value;
                    this.RaisePropertyChanged("DefaultGatewayAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string EnablingIPAddress {
            get {
                return this.EnablingIPAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.EnablingIPAddressField, value) != true)) {
                    this.EnablingIPAddressField = value;
                    this.RaisePropertyChanged("EnablingIPAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool HighlyAvailable {
            get {
                return this.HighlyAvailableField;
            }
            set {
                if ((this.HighlyAvailableField.Equals(value) != true)) {
                    this.HighlyAvailableField = value;
                    this.RaisePropertyChanged("HighlyAvailable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ushort HostBoundVlanId {
            get {
                return this.HostBoundVlanIdField;
            }
            set {
                if ((this.HostBoundVlanIdField.Equals(value) != true)) {
                    this.HostBoundVlanIdField = value;
                    this.RaisePropertyChanged("HostBoundVlanId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string NetworkAddress {
            get {
                return this.NetworkAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.NetworkAddressField, value) != true)) {
                    this.NetworkAddressField = value;
                    this.RaisePropertyChanged("NetworkAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string NetworkMask {
            get {
                return this.NetworkMaskField;
            }
            set {
                if ((object.ReferenceEquals(this.NetworkMaskField, value) != true)) {
                    this.NetworkMaskField = value;
                    this.RaisePropertyChanged("NetworkMask");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Tag {
            get {
                return this.TagField;
            }
            set {
                if ((object.ReferenceEquals(this.TagField, value) != true)) {
                    this.TagField = value;
                    this.RaisePropertyChanged("Tag");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid VMHostId {
            get {
                return this.VMHostIdField;
            }
            set {
                if ((this.VMHostIdField.Equals(value) != true)) {
                    this.VMHostIdField = value;
                    this.RaisePropertyChanged("VMHostId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostNetworkAdapterInfo[] VMHostNetworkAdapters {
            get {
                return this.VMHostNetworkAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostNetworkAdaptersField, value) != true)) {
                    this.VMHostNetworkAdaptersField = value;
                    this.RaisePropertyChanged("VMHostNetworkAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string WINServers {
            get {
                return this.WINServersField;
            }
            set {
                if ((object.ReferenceEquals(this.WINServersField, value) != true)) {
                    this.WINServersField = value;
                    this.RaisePropertyChanged("WINServers");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostNetworkAdapterInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostNetworkAdapterInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ConnectionNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostNetworkAdapterStateInfo ConnectionStateField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Net.IPAddress[] IPAddressesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ushort MaxBandwidthField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NetworkLocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string PrimaryDNSSuffixField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool VLANEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VlanModeInfo VLANModeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ushort[] VlanTagsField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ConnectionName {
            get {
                return this.ConnectionNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ConnectionNameField, value) != true)) {
                    this.ConnectionNameField = value;
                    this.RaisePropertyChanged("ConnectionName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostNetworkAdapterStateInfo ConnectionState {
            get {
                return this.ConnectionStateField;
            }
            set {
                if ((this.ConnectionStateField.Equals(value) != true)) {
                    this.ConnectionStateField = value;
                    this.RaisePropertyChanged("ConnectionState");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Net.IPAddress[] IPAddresses {
            get {
                return this.IPAddressesField;
            }
            set {
                if ((object.ReferenceEquals(this.IPAddressesField, value) != true)) {
                    this.IPAddressesField = value;
                    this.RaisePropertyChanged("IPAddresses");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ushort MaxBandwidth {
            get {
                return this.MaxBandwidthField;
            }
            set {
                if ((this.MaxBandwidthField.Equals(value) != true)) {
                    this.MaxBandwidthField = value;
                    this.RaisePropertyChanged("MaxBandwidth");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string NetworkLocation {
            get {
                return this.NetworkLocationField;
            }
            set {
                if ((object.ReferenceEquals(this.NetworkLocationField, value) != true)) {
                    this.NetworkLocationField = value;
                    this.RaisePropertyChanged("NetworkLocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PrimaryDNSSuffix {
            get {
                return this.PrimaryDNSSuffixField;
            }
            set {
                if ((object.ReferenceEquals(this.PrimaryDNSSuffixField, value) != true)) {
                    this.PrimaryDNSSuffixField = value;
                    this.RaisePropertyChanged("PrimaryDNSSuffix");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool VLANEnabled {
            get {
                return this.VLANEnabledField;
            }
            set {
                if ((this.VLANEnabledField.Equals(value) != true)) {
                    this.VLANEnabledField = value;
                    this.RaisePropertyChanged("VLANEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VlanModeInfo VLANMode {
            get {
                return this.VLANModeField;
            }
            set {
                if ((this.VLANModeField.Equals(value) != true)) {
                    this.VLANModeField = value;
                    this.RaisePropertyChanged("VLANMode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ushort[] VlanTags {
            get {
                return this.VlanTagsField;
            }
            set {
                if ((object.ReferenceEquals(this.VlanTagsField, value) != true)) {
                    this.VlanTagsField = value;
                    this.RaisePropertyChanged("VlanTags");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostNetworkAdapterStateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum HostNetworkAdapterStateInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Connected = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Disconnected = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Disabled = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MediaDisconnected = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Failed = 5,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VlanModeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VlanModeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Access = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Trunk = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Invalid = 2,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostClusterInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostClusterInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo AvailableStorageNodeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ClusterNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<uint> ClusterReserveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ClusterReserveDetailsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DomainNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo HostGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid HostGroupIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo[] NodesField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo AvailableStorageNode {
            get {
                return this.AvailableStorageNodeField;
            }
            set {
                if ((object.ReferenceEquals(this.AvailableStorageNodeField, value) != true)) {
                    this.AvailableStorageNodeField = value;
                    this.RaisePropertyChanged("AvailableStorageNode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ClusterName {
            get {
                return this.ClusterNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ClusterNameField, value) != true)) {
                    this.ClusterNameField = value;
                    this.RaisePropertyChanged("ClusterName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<uint> ClusterReserve {
            get {
                return this.ClusterReserveField;
            }
            set {
                if ((this.ClusterReserveField.Equals(value) != true)) {
                    this.ClusterReserveField = value;
                    this.RaisePropertyChanged("ClusterReserve");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ClusterReserveDetails {
            get {
                return this.ClusterReserveDetailsField;
            }
            set {
                if ((object.ReferenceEquals(this.ClusterReserveDetailsField, value) != true)) {
                    this.ClusterReserveDetailsField = value;
                    this.RaisePropertyChanged("ClusterReserveDetails");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DomainName {
            get {
                return this.DomainNameField;
            }
            set {
                if ((object.ReferenceEquals(this.DomainNameField, value) != true)) {
                    this.DomainNameField = value;
                    this.RaisePropertyChanged("DomainName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostGroupInfo HostGroup {
            get {
                return this.HostGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.HostGroupField, value) != true)) {
                    this.HostGroupField = value;
                    this.RaisePropertyChanged("HostGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid HostGroupId {
            get {
                return this.HostGroupIdField;
            }
            set {
                if ((this.HostGroupIdField.Equals(value) != true)) {
                    this.HostGroupIdField = value;
                    this.RaisePropertyChanged("HostGroupId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo[] Nodes {
            get {
                return this.NodesField;
            }
            set {
                if ((object.ReferenceEquals(this.NodesField, value) != true)) {
                    this.NodesField = value;
                    this.RaisePropertyChanged("Nodes");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostDiskInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostDiskInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong CapacityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterDiskInfo ClusterDiskField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DeviceIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid DiskIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private uint IndexField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsClusteredField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsPassthroughCapableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsSanAttachedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private uint SignatureField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string UniqueIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong Capacity {
            get {
                return this.CapacityField;
            }
            set {
                if ((this.CapacityField.Equals(value) != true)) {
                    this.CapacityField = value;
                    this.RaisePropertyChanged("Capacity");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterDiskInfo ClusterDisk {
            get {
                return this.ClusterDiskField;
            }
            set {
                if ((object.ReferenceEquals(this.ClusterDiskField, value) != true)) {
                    this.ClusterDiskField = value;
                    this.RaisePropertyChanged("ClusterDisk");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DeviceID {
            get {
                return this.DeviceIDField;
            }
            set {
                if ((object.ReferenceEquals(this.DeviceIDField, value) != true)) {
                    this.DeviceIDField = value;
                    this.RaisePropertyChanged("DeviceID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid DiskID {
            get {
                return this.DiskIDField;
            }
            set {
                if ((this.DiskIDField.Equals(value) != true)) {
                    this.DiskIDField = value;
                    this.RaisePropertyChanged("DiskID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public uint Index {
            get {
                return this.IndexField;
            }
            set {
                if ((this.IndexField.Equals(value) != true)) {
                    this.IndexField = value;
                    this.RaisePropertyChanged("Index");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsClustered {
            get {
                return this.IsClusteredField;
            }
            set {
                if ((this.IsClusteredField.Equals(value) != true)) {
                    this.IsClusteredField = value;
                    this.RaisePropertyChanged("IsClustered");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsPassthroughCapable {
            get {
                return this.IsPassthroughCapableField;
            }
            set {
                if ((this.IsPassthroughCapableField.Equals(value) != true)) {
                    this.IsPassthroughCapableField = value;
                    this.RaisePropertyChanged("IsPassthroughCapable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsSanAttached {
            get {
                return this.IsSanAttachedField;
            }
            set {
                if ((this.IsSanAttachedField.Equals(value) != true)) {
                    this.IsSanAttachedField = value;
                    this.RaisePropertyChanged("IsSanAttached");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServer {
            get {
                return this.LibraryServerField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryServerField, value) != true)) {
                    this.LibraryServerField = value;
                    this.RaisePropertyChanged("LibraryServer");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentID {
            get {
                return this.ParentIDField;
            }
            set {
                if ((this.ParentIDField.Equals(value) != true)) {
                    this.ParentIDField = value;
                    this.RaisePropertyChanged("ParentID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public uint Signature {
            get {
                return this.SignatureField;
            }
            set {
                if ((this.SignatureField.Equals(value) != true)) {
                    this.SignatureField = value;
                    this.RaisePropertyChanged("Signature");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UniqueID {
            get {
                return this.UniqueIDField;
            }
            set {
                if ((object.ReferenceEquals(this.UniqueIDField, value) != true)) {
                    this.UniqueIDField = value;
                    this.RaisePropertyChanged("UniqueID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostClusterDiskInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostClusterDiskInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool InUseField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool OnlineField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo OwnerNodeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private uint SignatureField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string UniqueIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo VMHostClusterField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] VolumeGuidsField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool InUse {
            get {
                return this.InUseField;
            }
            set {
                if ((this.InUseField.Equals(value) != true)) {
                    this.InUseField = value;
                    this.RaisePropertyChanged("InUse");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool Online {
            get {
                return this.OnlineField;
            }
            set {
                if ((this.OnlineField.Equals(value) != true)) {
                    this.OnlineField = value;
                    this.RaisePropertyChanged("Online");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo OwnerNode {
            get {
                return this.OwnerNodeField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerNodeField, value) != true)) {
                    this.OwnerNodeField = value;
                    this.RaisePropertyChanged("OwnerNode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentId {
            get {
                return this.ParentIdField;
            }
            set {
                if ((this.ParentIdField.Equals(value) != true)) {
                    this.ParentIdField = value;
                    this.RaisePropertyChanged("ParentId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public uint Signature {
            get {
                return this.SignatureField;
            }
            set {
                if ((this.SignatureField.Equals(value) != true)) {
                    this.SignatureField = value;
                    this.RaisePropertyChanged("Signature");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UniqueID {
            get {
                return this.UniqueIDField;
            }
            set {
                if ((object.ReferenceEquals(this.UniqueIDField, value) != true)) {
                    this.UniqueIDField = value;
                    this.RaisePropertyChanged("UniqueID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo VMHostCluster {
            get {
                return this.VMHostClusterField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostClusterField, value) != true)) {
                    this.VMHostClusterField = value;
                    this.RaisePropertyChanged("VMHostCluster");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] VolumeGuids {
            get {
                return this.VolumeGuidsField;
            }
            set {
                if ((object.ReferenceEquals(this.VolumeGuidsField, value) != true)) {
                    this.VolumeGuidsField = value;
                    this.RaisePropertyChanged("VolumeGuids");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="HostVolumeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class HostVolumeInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong CapacityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private ulong FreeSpaceField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid HostVolumeIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool InUseField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsClusterSharedVolumeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsClusteredField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsSANMigrationPossibleField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] MountPointsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ParentIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ValumeLabelField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool isAvailableForPlacementField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong Capacity {
            get {
                return this.CapacityField;
            }
            set {
                if ((this.CapacityField.Equals(value) != true)) {
                    this.CapacityField = value;
                    this.RaisePropertyChanged("Capacity");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public ulong FreeSpace {
            get {
                return this.FreeSpaceField;
            }
            set {
                if ((this.FreeSpaceField.Equals(value) != true)) {
                    this.FreeSpaceField = value;
                    this.RaisePropertyChanged("FreeSpace");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid HostVolumeID {
            get {
                return this.HostVolumeIDField;
            }
            set {
                if ((this.HostVolumeIDField.Equals(value) != true)) {
                    this.HostVolumeIDField = value;
                    this.RaisePropertyChanged("HostVolumeID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool InUse {
            get {
                return this.InUseField;
            }
            set {
                if ((this.InUseField.Equals(value) != true)) {
                    this.InUseField = value;
                    this.RaisePropertyChanged("InUse");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsClusterSharedVolume {
            get {
                return this.IsClusterSharedVolumeField;
            }
            set {
                if ((this.IsClusterSharedVolumeField.Equals(value) != true)) {
                    this.IsClusterSharedVolumeField = value;
                    this.RaisePropertyChanged("IsClusterSharedVolume");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsClustered {
            get {
                return this.IsClusteredField;
            }
            set {
                if ((this.IsClusteredField.Equals(value) != true)) {
                    this.IsClusteredField = value;
                    this.RaisePropertyChanged("IsClustered");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsSANMigrationPossible {
            get {
                return this.IsSANMigrationPossibleField;
            }
            set {
                if ((this.IsSANMigrationPossibleField.Equals(value) != true)) {
                    this.IsSANMigrationPossibleField = value;
                    this.RaisePropertyChanged("IsSANMigrationPossible");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] MountPoints {
            get {
                return this.MountPointsField;
            }
            set {
                if ((object.ReferenceEquals(this.MountPointsField, value) != true)) {
                    this.MountPointsField = value;
                    this.RaisePropertyChanged("MountPoints");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ParentID {
            get {
                return this.ParentIDField;
            }
            set {
                if ((this.ParentIDField.Equals(value) != true)) {
                    this.ParentIDField = value;
                    this.RaisePropertyChanged("ParentID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ValumeLabel {
            get {
                return this.ValumeLabelField;
            }
            set {
                if ((object.ReferenceEquals(this.ValumeLabelField, value) != true)) {
                    this.ValumeLabelField = value;
                    this.RaisePropertyChanged("ValumeLabel");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool isAvailableForPlacement {
            get {
                return this.isAvailableForPlacementField;
            }
            set {
                if ((this.isAvailableForPlacementField.Equals(value) != true)) {
                    this.isAvailableForPlacementField = value;
                    this.RaisePropertyChanged("isAvailableForPlacement");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="MemorySettingInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class MemorySettingInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AutomaticAllocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool AutomaticDeallocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDeviceTypeInfo DeviceTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool DynamicMemoryEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long LimitField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long ReservationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long VirtualQuantityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int WeightField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AutomaticAllocation {
            get {
                return this.AutomaticAllocationField;
            }
            set {
                if ((this.AutomaticAllocationField.Equals(value) != true)) {
                    this.AutomaticAllocationField = value;
                    this.RaisePropertyChanged("AutomaticAllocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool AutomaticDeallocation {
            get {
                return this.AutomaticDeallocationField;
            }
            set {
                if ((this.AutomaticDeallocationField.Equals(value) != true)) {
                    this.AutomaticDeallocationField = value;
                    this.RaisePropertyChanged("AutomaticDeallocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDeviceTypeInfo DeviceType {
            get {
                return this.DeviceTypeField;
            }
            set {
                if ((this.DeviceTypeField.Equals(value) != true)) {
                    this.DeviceTypeField = value;
                    this.RaisePropertyChanged("DeviceType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool DynamicMemoryEnabled {
            get {
                return this.DynamicMemoryEnabledField;
            }
            set {
                if ((this.DynamicMemoryEnabledField.Equals(value) != true)) {
                    this.DynamicMemoryEnabledField = value;
                    this.RaisePropertyChanged("DynamicMemoryEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long Limit {
            get {
                return this.LimitField;
            }
            set {
                if ((this.LimitField.Equals(value) != true)) {
                    this.LimitField = value;
                    this.RaisePropertyChanged("Limit");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long Reservation {
            get {
                return this.ReservationField;
            }
            set {
                if ((this.ReservationField.Equals(value) != true)) {
                    this.ReservationField = value;
                    this.RaisePropertyChanged("Reservation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long VirtualQuantity {
            get {
                return this.VirtualQuantityField;
            }
            set {
                if ((this.VirtualQuantityField.Equals(value) != true)) {
                    this.VirtualQuantityField = value;
                    this.RaisePropertyChanged("VirtualQuantity");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Weight {
            get {
                return this.WeightField;
            }
            set {
                if ((this.WeightField.Equals(value) != true)) {
                    this.WeightField = value;
                    this.RaisePropertyChanged("Weight");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualDeviceTypeInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VirtualDeviceTypeInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Memory = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Processor = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        EthernetPortEmulated = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        EthernetPortSynthetic = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SerialController = 5,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SerialPort = 6,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        IDEController = 7,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SCSISyntheticController = 8,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DisketteController = 9,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DisketteSyntheticDrive = 10,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        HardDiskSyntheticDirve = 11,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        HardDiskPhysicalDrive = 12,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DVDSyntheticDrive = 13,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        TimeSync = 14,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Heartbeat = 15,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DataExchange = 16,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Shutdown = 17,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        VSSIntegration = 18,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        HardDisk = 19,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        ISODisk = 20,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        FloppyDisk = 21,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VirtualMachineInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VirtualMachineInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime AddedTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool BackupEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrderField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private byte CPUCountField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUMaxField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUReserveField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int CPUUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CheckpointLocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ComputerNameStringField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CreationSourceField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime CreationTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string[] CustomPropertiesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool DataExchangeEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int DelayStartField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int DiskIOField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool EnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool ExcludeFromPROField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ExpectedCPUUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<System.Guid> FailedJobIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool HasPassthroughDiskField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool HeartbeatEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string HostGroupPathField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid HostIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string HostNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsUndergoingLiveMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo LastRestoredVMCheckpointField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LibraryGroupField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUForMigrationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool LimitCPUFunctionalityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string LocationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool MarkedAsTemplateField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int MemoryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ModifiedTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int NetworkUtilizationField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystemField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool OperatingSystemShutdownEnabledField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerSidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long PerfDiskBytesReadField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VMComputerSystemStateInfo StatusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TagField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long TotalSizeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] VMCheckpointsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string VMIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPortsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrivesField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StandaloneVirtualhardDiskInfo[] VirtualHardDisksField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdaptersField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool isHighlyAvailableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int perfCPUUtilizationField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime AddedTime {
            get {
                return this.AddedTimeField;
            }
            set {
                if ((this.AddedTimeField.Equals(value) != true)) {
                    this.AddedTimeField = value;
                    this.RaisePropertyChanged("AddedTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool BackupEnabled {
            get {
                return this.BackupEnabledField;
            }
            set {
                if ((this.BackupEnabledField.Equals(value) != true)) {
                    this.BackupEnabledField = value;
                    this.RaisePropertyChanged("BackupEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] BootOrder {
            get {
                return this.BootOrderField;
            }
            set {
                if ((object.ReferenceEquals(this.BootOrderField, value) != true)) {
                    this.BootOrderField = value;
                    this.RaisePropertyChanged("BootOrder");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public byte CPUCount {
            get {
                return this.CPUCountField;
            }
            set {
                if ((this.CPUCountField.Equals(value) != true)) {
                    this.CPUCountField = value;
                    this.RaisePropertyChanged("CPUCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUMax {
            get {
                return this.CPUMaxField;
            }
            set {
                if ((this.CPUMaxField.Equals(value) != true)) {
                    this.CPUMaxField = value;
                    this.RaisePropertyChanged("CPUMax");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUReserve {
            get {
                return this.CPUReserveField;
            }
            set {
                if ((this.CPUReserveField.Equals(value) != true)) {
                    this.CPUReserveField = value;
                    this.RaisePropertyChanged("CPUReserve");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo CPUType {
            get {
                return this.CPUTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.CPUTypeField, value) != true)) {
                    this.CPUTypeField = value;
                    this.RaisePropertyChanged("CPUType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int CPUUtilization {
            get {
                return this.CPUUtilizationField;
            }
            set {
                if ((this.CPUUtilizationField.Equals(value) != true)) {
                    this.CPUUtilizationField = value;
                    this.RaisePropertyChanged("CPUUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CheckpointLocation {
            get {
                return this.CheckpointLocationField;
            }
            set {
                if ((object.ReferenceEquals(this.CheckpointLocationField, value) != true)) {
                    this.CheckpointLocationField = value;
                    this.RaisePropertyChanged("CheckpointLocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerName {
            get {
                return this.ComputerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameField, value) != true)) {
                    this.ComputerNameField = value;
                    this.RaisePropertyChanged("ComputerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ComputerNameString {
            get {
                return this.ComputerNameStringField;
            }
            set {
                if ((object.ReferenceEquals(this.ComputerNameStringField, value) != true)) {
                    this.ComputerNameStringField = value;
                    this.RaisePropertyChanged("ComputerNameString");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CreationSource {
            get {
                return this.CreationSourceField;
            }
            set {
                if ((object.ReferenceEquals(this.CreationSourceField, value) != true)) {
                    this.CreationSourceField = value;
                    this.RaisePropertyChanged("CreationSource");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime CreationTime {
            get {
                return this.CreationTimeField;
            }
            set {
                if ((this.CreationTimeField.Equals(value) != true)) {
                    this.CreationTimeField = value;
                    this.RaisePropertyChanged("CreationTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string[] CustomProperties {
            get {
                return this.CustomPropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomPropertiesField, value) != true)) {
                    this.CustomPropertiesField = value;
                    this.RaisePropertyChanged("CustomProperties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool DataExchangeEnabled {
            get {
                return this.DataExchangeEnabledField;
            }
            set {
                if ((this.DataExchangeEnabledField.Equals(value) != true)) {
                    this.DataExchangeEnabledField = value;
                    this.RaisePropertyChanged("DataExchangeEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int DelayStart {
            get {
                return this.DelayStartField;
            }
            set {
                if ((this.DelayStartField.Equals(value) != true)) {
                    this.DelayStartField = value;
                    this.RaisePropertyChanged("DelayStart");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int DiskIO {
            get {
                return this.DiskIOField;
            }
            set {
                if ((this.DiskIOField.Equals(value) != true)) {
                    this.DiskIOField = value;
                    this.RaisePropertyChanged("DiskIO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool Enabled {
            get {
                return this.EnabledField;
            }
            set {
                if ((this.EnabledField.Equals(value) != true)) {
                    this.EnabledField = value;
                    this.RaisePropertyChanged("Enabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ExcludeFromPRO {
            get {
                return this.ExcludeFromPROField;
            }
            set {
                if ((this.ExcludeFromPROField.Equals(value) != true)) {
                    this.ExcludeFromPROField = value;
                    this.RaisePropertyChanged("ExcludeFromPRO");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ExpectedCPUUtilization {
            get {
                return this.ExpectedCPUUtilizationField;
            }
            set {
                if ((this.ExpectedCPUUtilizationField.Equals(value) != true)) {
                    this.ExpectedCPUUtilizationField = value;
                    this.RaisePropertyChanged("ExpectedCPUUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.Guid> FailedJobId {
            get {
                return this.FailedJobIdField;
            }
            set {
                if ((this.FailedJobIdField.Equals(value) != true)) {
                    this.FailedJobIdField = value;
                    this.RaisePropertyChanged("FailedJobId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool HasPassthroughDisk {
            get {
                return this.HasPassthroughDiskField;
            }
            set {
                if ((this.HasPassthroughDiskField.Equals(value) != true)) {
                    this.HasPassthroughDiskField = value;
                    this.RaisePropertyChanged("HasPassthroughDisk");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool HeartbeatEnabled {
            get {
                return this.HeartbeatEnabledField;
            }
            set {
                if ((this.HeartbeatEnabledField.Equals(value) != true)) {
                    this.HeartbeatEnabledField = value;
                    this.RaisePropertyChanged("HeartbeatEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string HostGroupPath {
            get {
                return this.HostGroupPathField;
            }
            set {
                if ((object.ReferenceEquals(this.HostGroupPathField, value) != true)) {
                    this.HostGroupPathField = value;
                    this.RaisePropertyChanged("HostGroupPath");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid HostId {
            get {
                return this.HostIdField;
            }
            set {
                if ((this.HostIdField.Equals(value) != true)) {
                    this.HostIdField = value;
                    this.RaisePropertyChanged("HostId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string HostName {
            get {
                return this.HostNameField;
            }
            set {
                if ((object.ReferenceEquals(this.HostNameField, value) != true)) {
                    this.HostNameField = value;
                    this.RaisePropertyChanged("HostName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsUndergoingLiveMigration {
            get {
                return this.IsUndergoingLiveMigrationField;
            }
            set {
                if ((this.IsUndergoingLiveMigrationField.Equals(value) != true)) {
                    this.IsUndergoingLiveMigrationField = value;
                    this.RaisePropertyChanged("IsUndergoingLiveMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo LastRestoredVMCheckpoint {
            get {
                return this.LastRestoredVMCheckpointField;
            }
            set {
                if ((object.ReferenceEquals(this.LastRestoredVMCheckpointField, value) != true)) {
                    this.LastRestoredVMCheckpointField = value;
                    this.RaisePropertyChanged("LastRestoredVMCheckpoint");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string LibraryGroup {
            get {
                return this.LibraryGroupField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryGroupField, value) != true)) {
                    this.LibraryGroupField = value;
                    this.RaisePropertyChanged("LibraryGroup");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo LibraryServer {
            get {
                return this.LibraryServerField;
            }
            set {
                if ((object.ReferenceEquals(this.LibraryServerField, value) != true)) {
                    this.LibraryServerField = value;
                    this.RaisePropertyChanged("LibraryServer");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUForMigration {
            get {
                return this.LimitCPUForMigrationField;
            }
            set {
                if ((this.LimitCPUForMigrationField.Equals(value) != true)) {
                    this.LimitCPUForMigrationField = value;
                    this.RaisePropertyChanged("LimitCPUForMigration");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LimitCPUFunctionality {
            get {
                return this.LimitCPUFunctionalityField;
            }
            set {
                if ((this.LimitCPUFunctionalityField.Equals(value) != true)) {
                    this.LimitCPUFunctionalityField = value;
                    this.RaisePropertyChanged("LimitCPUFunctionality");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool MarkedAsTemplate {
            get {
                return this.MarkedAsTemplateField;
            }
            set {
                if ((this.MarkedAsTemplateField.Equals(value) != true)) {
                    this.MarkedAsTemplateField = value;
                    this.RaisePropertyChanged("MarkedAsTemplate");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Memory {
            get {
                return this.MemoryField;
            }
            set {
                if ((this.MemoryField.Equals(value) != true)) {
                    this.MemoryField = value;
                    this.RaisePropertyChanged("Memory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime ModifiedTime {
            get {
                return this.ModifiedTimeField;
            }
            set {
                if ((this.ModifiedTimeField.Equals(value) != true)) {
                    this.ModifiedTimeField = value;
                    this.RaisePropertyChanged("ModifiedTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int NetworkUtilization {
            get {
                return this.NetworkUtilizationField;
            }
            set {
                if ((this.NetworkUtilizationField.Equals(value) != true)) {
                    this.NetworkUtilizationField = value;
                    this.RaisePropertyChanged("NetworkUtilization");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo OperatingSystem {
            get {
                return this.OperatingSystemField;
            }
            set {
                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
                    this.OperatingSystemField = value;
                    this.RaisePropertyChanged("OperatingSystem");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool OperatingSystemShutdownEnabled {
            get {
                return this.OperatingSystemShutdownEnabledField;
            }
            set {
                if ((this.OperatingSystemShutdownEnabledField.Equals(value) != true)) {
                    this.OperatingSystemShutdownEnabledField = value;
                    this.RaisePropertyChanged("OperatingSystemShutdownEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string OwnerSid {
            get {
                return this.OwnerSidField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerSidField, value) != true)) {
                    this.OwnerSidField = value;
                    this.RaisePropertyChanged("OwnerSid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long PerfDiskBytesRead {
            get {
                return this.PerfDiskBytesReadField;
            }
            set {
                if ((this.PerfDiskBytesReadField.Equals(value) != true)) {
                    this.PerfDiskBytesReadField = value;
                    this.RaisePropertyChanged("PerfDiskBytesRead");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMComputerSystemStateInfo Status {
            get {
                return this.StatusField;
            }
            set {
                if ((this.StatusField.Equals(value) != true)) {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Tag {
            get {
                return this.TagField;
            }
            set {
                if ((object.ReferenceEquals(this.TagField, value) != true)) {
                    this.TagField = value;
                    this.RaisePropertyChanged("Tag");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long TotalSize {
            get {
                return this.TotalSizeField;
            }
            set {
                if ((this.TotalSizeField.Equals(value) != true)) {
                    this.TotalSizeField = value;
                    this.RaisePropertyChanged("TotalSize");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] VMCheckpoints {
            get {
                return this.VMCheckpointsField;
            }
            set {
                if ((object.ReferenceEquals(this.VMCheckpointsField, value) != true)) {
                    this.VMCheckpointsField = value;
                    this.RaisePropertyChanged("VMCheckpoints");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string VMId {
            get {
                return this.VMIdField;
            }
            set {
                if ((object.ReferenceEquals(this.VMIdField, value) != true)) {
                    this.VMIdField = value;
                    this.RaisePropertyChanged("VMId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] VirtualCOMPorts {
            get {
                return this.VirtualCOMPortsField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualCOMPortsField, value) != true)) {
                    this.VirtualCOMPortsField = value;
                    this.RaisePropertyChanged("VirtualCOMPorts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] VirtualDVDDrives {
            get {
                return this.VirtualDVDDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDVDDrivesField, value) != true)) {
                    this.VirtualDVDDrivesField = value;
                    this.RaisePropertyChanged("VirtualDVDDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] VirtualDiskDrives {
            get {
                return this.VirtualDiskDrivesField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualDiskDrivesField, value) != true)) {
                    this.VirtualDiskDrivesField = value;
                    this.RaisePropertyChanged("VirtualDiskDrives");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StandaloneVirtualhardDiskInfo[] VirtualHardDisks {
            get {
                return this.VirtualHardDisksField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualHardDisksField, value) != true)) {
                    this.VirtualHardDisksField = value;
                    this.RaisePropertyChanged("VirtualHardDisks");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] VirtualNetworkAdapters {
            get {
                return this.VirtualNetworkAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualNetworkAdaptersField, value) != true)) {
                    this.VirtualNetworkAdaptersField = value;
                    this.RaisePropertyChanged("VirtualNetworkAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] VirtualSCSIAdapters {
            get {
                return this.VirtualSCSIAdaptersField;
            }
            set {
                if ((object.ReferenceEquals(this.VirtualSCSIAdaptersField, value) != true)) {
                    this.VirtualSCSIAdaptersField = value;
                    this.RaisePropertyChanged("VirtualSCSIAdapters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool isHighlyAvailable {
            get {
                return this.isHighlyAvailableField;
            }
            set {
                if ((this.isHighlyAvailableField.Equals(value) != true)) {
                    this.isHighlyAvailableField = value;
                    this.RaisePropertyChanged("isHighlyAvailable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int perfCPUUtilization {
            get {
                return this.perfCPUUtilizationField;
            }
            set {
                if ((this.perfCPUUtilizationField.Equals(value) != true)) {
                    this.perfCPUUtilizationField = value;
                    this.RaisePropertyChanged("perfCPUUtilization");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VMComputerSystemStateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum VMComputerSystemStateInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CheckpointFailed = 213,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CreatingCheckpoint = 210,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CreationFailed = 101,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CustomizationFailed = 105,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Deleting = 13,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DeletingCheckpoint = 211,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DiscardingDrives = 80,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        DiscardSavedState = 10,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        FinishingCheckpointOperation = 215,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        HostNotResponding = 221,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        IncompleteVMConfig = 223,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        InitializingCheckpointOperation = 214,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MergingDrives = 12,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MigrationFailed = 201,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Missing = 220,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        P2VCreationFailed = 240,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Paused = 6,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Pausing = 81,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        PoweringOff = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        PowerOff = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        RecoveringCheckpoint = 212,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Restoring = 5,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Running = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Saved = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Saving = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Starting = 11,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Stored = 102,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        TemplateCreationFailed = 104,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnderCreation = 100,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnderMigration = 200,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnderTemplateCreation = 103,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnderUpdate = 106,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unsupported = 222,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnsupportedCluster = 225,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UnsupportedSharedFiles = 224,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        UpdateFailed = 107,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        V2VCreationFailed = 250,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="VMHostRatingInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class VMHostRatingInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string DescriptionField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long EstimatedHostDiskSpaceRemainingField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private long EstimatedHostMemoryRemainingField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private float RatingField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHostField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long EstimatedHostDiskSpaceRemaining {
            get {
                return this.EstimatedHostDiskSpaceRemainingField;
            }
            set {
                if ((this.EstimatedHostDiskSpaceRemainingField.Equals(value) != true)) {
                    this.EstimatedHostDiskSpaceRemainingField = value;
                    this.RaisePropertyChanged("EstimatedHostDiskSpaceRemaining");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public long EstimatedHostMemoryRemaining {
            get {
                return this.EstimatedHostMemoryRemainingField;
            }
            set {
                if ((this.EstimatedHostMemoryRemainingField.Equals(value) != true)) {
                    this.EstimatedHostMemoryRemainingField = value;
                    this.RaisePropertyChanged("EstimatedHostMemoryRemaining");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public float Rating {
            get {
                return this.RatingField;
            }
            set {
                if ((this.RatingField.Equals(value) != true)) {
                    this.RatingField = value;
                    this.RaisePropertyChanged("Rating");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo VMHost {
            get {
                return this.VMHostField;
            }
            set {
                if ((object.ReferenceEquals(this.VMHostField, value) != true)) {
                    this.VMHostField = value;
                    this.RaisePropertyChanged("VMHost");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="TaskInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class TaskInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CmdletNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo CurrentStepField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<System.DateTime> EndTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsCompletedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsRestartableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsStoppableField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool IsVisibleField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string OwnerSIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ProgressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ProgressValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ResultNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ResultObjectIDField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string SourceField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<System.DateTime> StartTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.TaskUIStateInfo StatusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string StatusStringField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo[] StepsField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TargetField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<System.Guid> TargetIdField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CmdletName {
            get {
                return this.CmdletNameField;
            }
            set {
                if ((object.ReferenceEquals(this.CmdletNameField, value) != true)) {
                    this.CmdletNameField = value;
                    this.RaisePropertyChanged("CmdletName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo CurrentStep {
            get {
                return this.CurrentStepField;
            }
            set {
                if ((object.ReferenceEquals(this.CurrentStepField, value) != true)) {
                    this.CurrentStepField = value;
                    this.RaisePropertyChanged("CurrentStep");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> EndTime {
            get {
                return this.EndTimeField;
            }
            set {
                if ((this.EndTimeField.Equals(value) != true)) {
                    this.EndTimeField = value;
                    this.RaisePropertyChanged("EndTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsCompleted {
            get {
                return this.IsCompletedField;
            }
            set {
                if ((this.IsCompletedField.Equals(value) != true)) {
                    this.IsCompletedField = value;
                    this.RaisePropertyChanged("IsCompleted");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsRestartable {
            get {
                return this.IsRestartableField;
            }
            set {
                if ((this.IsRestartableField.Equals(value) != true)) {
                    this.IsRestartableField = value;
                    this.RaisePropertyChanged("IsRestartable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsStoppable {
            get {
                return this.IsStoppableField;
            }
            set {
                if ((this.IsStoppableField.Equals(value) != true)) {
                    this.IsStoppableField = value;
                    this.RaisePropertyChanged("IsStoppable");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsVisible {
            get {
                return this.IsVisibleField;
            }
            set {
                if ((this.IsVisibleField.Equals(value) != true)) {
                    this.IsVisibleField = value;
                    this.RaisePropertyChanged("IsVisible");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Owner {
            get {
                return this.OwnerField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerField, value) != true)) {
                    this.OwnerField = value;
                    this.RaisePropertyChanged("Owner");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string OwnerSID {
            get {
                return this.OwnerSIDField;
            }
            set {
                if ((object.ReferenceEquals(this.OwnerSIDField, value) != true)) {
                    this.OwnerSIDField = value;
                    this.RaisePropertyChanged("OwnerSID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Progress {
            get {
                return this.ProgressField;
            }
            set {
                if ((object.ReferenceEquals(this.ProgressField, value) != true)) {
                    this.ProgressField = value;
                    this.RaisePropertyChanged("Progress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ProgressValue {
            get {
                return this.ProgressValueField;
            }
            set {
                if ((this.ProgressValueField.Equals(value) != true)) {
                    this.ProgressValueField = value;
                    this.RaisePropertyChanged("ProgressValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ResultName {
            get {
                return this.ResultNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ResultNameField, value) != true)) {
                    this.ResultNameField = value;
                    this.RaisePropertyChanged("ResultName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ResultObjectID {
            get {
                return this.ResultObjectIDField;
            }
            set {
                if ((this.ResultObjectIDField.Equals(value) != true)) {
                    this.ResultObjectIDField = value;
                    this.RaisePropertyChanged("ResultObjectID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Source {
            get {
                return this.SourceField;
            }
            set {
                if ((object.ReferenceEquals(this.SourceField, value) != true)) {
                    this.SourceField = value;
                    this.RaisePropertyChanged("Source");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> StartTime {
            get {
                return this.StartTimeField;
            }
            set {
                if ((this.StartTimeField.Equals(value) != true)) {
                    this.StartTimeField = value;
                    this.RaisePropertyChanged("StartTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TaskUIStateInfo Status {
            get {
                return this.StatusField;
            }
            set {
                if ((this.StatusField.Equals(value) != true)) {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StatusString {
            get {
                return this.StatusStringField;
            }
            set {
                if ((object.ReferenceEquals(this.StatusStringField, value) != true)) {
                    this.StatusStringField = value;
                    this.RaisePropertyChanged("StatusString");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo[] Steps {
            get {
                return this.StepsField;
            }
            set {
                if ((object.ReferenceEquals(this.StepsField, value) != true)) {
                    this.StepsField = value;
                    this.RaisePropertyChanged("Steps");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Target {
            get {
                return this.TargetField;
            }
            set {
                if ((object.ReferenceEquals(this.TargetField, value) != true)) {
                    this.TargetField = value;
                    this.RaisePropertyChanged("Target");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.Guid> TargetId {
            get {
                return this.TargetIdField;
            }
            set {
                if ((this.TargetIdField.Equals(value) != true)) {
                    this.TargetIdField = value;
                    this.RaisePropertyChanged("TargetId");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="StepInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    [System.SerializableAttribute()]
    public partial class StepInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo[] ChildrenField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid JobField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string NameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ProgressField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int ProgressValueField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Nullable<System.DateTime> StartTimeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private SolidCP.Providers.VirtualizationForPC.SVMMService.StepUIStateInfo StatusField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string StatusStringField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StepInfo[] Children {
            get {
                return this.ChildrenField;
            }
            set {
                if ((object.ReferenceEquals(this.ChildrenField, value) != true)) {
                    this.ChildrenField = value;
                    this.RaisePropertyChanged("Children");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid Job {
            get {
                return this.JobField;
            }
            set {
                if ((this.JobField.Equals(value) != true)) {
                    this.JobField = value;
                    this.RaisePropertyChanged("Job");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Progress {
            get {
                return this.ProgressField;
            }
            set {
                if ((object.ReferenceEquals(this.ProgressField, value) != true)) {
                    this.ProgressField = value;
                    this.RaisePropertyChanged("Progress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ProgressValue {
            get {
                return this.ProgressValueField;
            }
            set {
                if ((this.ProgressValueField.Equals(value) != true)) {
                    this.ProgressValueField = value;
                    this.RaisePropertyChanged("ProgressValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> StartTime {
            get {
                return this.StartTimeField;
            }
            set {
                if ((this.StartTimeField.Equals(value) != true)) {
                    this.StartTimeField = value;
                    this.RaisePropertyChanged("StartTime");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public SolidCP.Providers.VirtualizationForPC.SVMMService.StepUIStateInfo Status {
            get {
                return this.StatusField;
            }
            set {
                if ((this.StatusField.Equals(value) != true)) {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StatusString {
            get {
                return this.StatusStringField;
            }
            set {
                if ((object.ReferenceEquals(this.StatusStringField, value) != true)) {
                    this.StatusStringField = value;
                    this.RaisePropertyChanged("StatusString");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="TaskUIStateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum TaskUIStateInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Invalid = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Running = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Canceling = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Failed = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Canceled = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Completed = 5,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        SucceedWithInfo = 6,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="StepUIStateInfo", Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Hosting.VirtualMachineManagemen" +
        "t.DataContracts")]
    public enum StepUIStateInfo : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Invalid = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        NotStarted = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Running = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Completed = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Failed = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Canceling = 5,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Canceled = 6,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="SVMMService.IVirtualMachineManagementService")]
    public interface IVirtualMachineManagementService {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetISOs", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetISOsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetISOsHostingServiceFaultFau" +
            "lt", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo[] GetISOs();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetISOById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetISOByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetISOByIdHostingServiceFault" +
            "Fault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo GetISOById(System.Guid isoId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveISO", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveISOResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveISOHostingServiceFaultF" +
            "ault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveISO(SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypes", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypesHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo[] GetProcessorTypes();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypeById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypeByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetProcessorTypeByIdHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo GetProcessorTypeById(System.Guid id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetScripts", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetScriptsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetScriptsHostingServiceFault" +
            "Fault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo[] GetScripts();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetScriptById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetScriptByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetScriptByIdHostingServiceFa" +
            "ultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo GetScriptById(System.Guid id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveScript", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveScriptResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveScriptHostingServiceFau" +
            "ltFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveScript(SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo script);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystems", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystemsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystemsHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo[] GetOperatingSystems();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystemById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystemByIdRespons" +
            "e")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetOperatingSystemByIdHosting" +
            "ServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo GetOperatingSystemById(System.Guid id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByVMRespo" +
            "nse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByVMHosti" +
            "ngServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] GetVirtualDiskDrivesByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDriveFromVHD", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDriveFromVHDR" +
            "esponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDriveFromVHDH" +
            "ostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo NewVMVirtualDiskDriveFromVHD(System.Guid vmId, System.Guid vhdId, byte bus, byte lun, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, string destinationFileName, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDrive", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDriveResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDiskDriveHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo NewVMVirtualDiskDrive(System.Guid vmId, long size, byte bus, byte lun, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo vhdType, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, string destinationFileName, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByTemplat" +
            "e", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByTemplat" +
            "eResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDiskDrivesByTemplat" +
            "eHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] GetVirtualDiskDrivesByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProfileById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProfileByIdRespons" +
            "e")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProfileByIdHosting" +
            "ServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo GetHardwareProfileById(System.Guid hardwareProfileId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo NewHardwareProfile(
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo processor, 
                    string owner, 
                    System.Nullable<System.Guid> jobGroup, 
                    string name, 
                    string description, 
                    byte cpuCount, 
                    int memory, 
                    System.Nullable<int> expectedCPUUtilization, 
                    System.Nullable<int> diskIO, 
                    System.Nullable<int> cpuMax, 
                    System.Nullable<int> cpuReserve, 
                    System.Nullable<int> networkUtilization, 
                    System.Nullable<int> relativeWeight, 
                    bool isHighlyAvailable, 
                    System.Nullable<bool> numLockEnabled, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] bootOrder, 
                    System.Nullable<bool> limitProcessorFunctionality, 
                    System.Nullable<bool> limitProcessorForMigration);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/CloneHardwareProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/CloneHardwareProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/CloneHardwareProfileHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo CloneHardwareProfile(string name, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo oldProfile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveHardwareProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveHardwareProfileResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveHardwareProfileHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfiles", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfilesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfilesHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo[] GetGuestOSProfiles();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfileById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfileByIdResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetGuestOSProfileByIdHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo GetGuestOSProfileById(System.Guid id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewGuestOSProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewGuestOSProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewGuestOSProfileHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo NewGuestOSProfile(
                    string name, 
                    string description, 
                    string computerName, 
                    string fullName, 
                    string orgName, 
                    bool hasProductKey, 
                    string productKey, 
                    System.Nullable<int> timeZone, 
                    string adminUserName, 
                    string adminPassword, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinDomain, 
                    string joinWorkgroup, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string owner);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/CloneGuestOSProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/CloneGuestOSProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/CloneGuestOSProfileHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo CloneGuestOSProfile(string name, SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo originalProfile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveGuestOSProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveGuestOSProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveGuestOSProfileHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveGuestOSProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisks", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisks();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByTemplate" +
            "", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByTemplate" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByTemplate" +
            "HostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisksByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByVMRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualHardDisksByVMHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisksByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDiskById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDiskByIdRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDiskByIdHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void MoveVirtualHardDiskById(System.Guid vhdId, string destination, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDisk", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDiskResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualHardDiskHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void MoveVirtualHardDisk(SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, byte bus, byte lun, string destination, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByVM" +
            "", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByVM" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByVM" +
            "HostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByTe" +
            "mplate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByTe" +
            "mplateResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByTe" +
            "mplateHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByHa" +
            "rdwareProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByHa" +
            "rdwareProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkAdaptersByHa" +
            "rdwareProfileHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualNetworkAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualNetworkAdapterRes" +
            "ponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualNetworkAdapterHos" +
            "tingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewVMVirtualNetworkAdapter(System.Guid vmId, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualNetworkAdap" +
            "ter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualNetworkAdap" +
            "terResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualNetworkAdap" +
            "terHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewTemplateVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualNetw" +
            "orkAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualNetw" +
            "orkAdapterResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualNetw" +
            "orkAdapterHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewHardwareProfileVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualNetworkAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualNetworkAdapterRe" +
            "sponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualNetworkAdapterHo" +
            "stingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo adapter, bool runAsync, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/SetVirtualNetworkAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/SetVirtualNetworkAdapterRespo" +
            "nse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/SetVirtualNetworkAdapterHosti" +
            "ngServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo SetVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo adapter, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork, string location, string tag, System.Nullable<bool> vLanEnabled, ushort vLanId, bool runAsync, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkByHost", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkByHostRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualNetworkByHostHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkInfo[] GetVirtualNetworkByHost(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByVMRespons" +
            "e")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByVMHosting" +
            "ServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByTemplate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByTemplateR" +
            "esponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByTemplateH" +
            "ostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByHardwareP" +
            "rofile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByHardwareP" +
            "rofileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualCOMPortsByHardwareP" +
            "rofileHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDVDDrivesByVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDVDDrivesByVMRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualDVDDrivesByVMHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] GetVirtualDVDDrivesByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDVDDrive", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDVDDriveResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualDVDDriveHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewVMVirtualDVDDrive(System.Guid vmId, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualDVDDrive", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualDVDDriveRes" +
            "ponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualDVDDriveHos" +
            "tingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewTemplateVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualDVDD" +
            "rive", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualDVDD" +
            "riveResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualDVDD" +
            "riveHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewHardwareProfileVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualDVDDrive", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualDVDDriveResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualDVDDriveHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo dvd, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByVMRes" +
            "ponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByVMHos" +
            "tingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByVM(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByTempl" +
            "ate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByTempl" +
            "ateResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByTempl" +
            "ateHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByHardw" +
            "areProfile", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByHardw" +
            "areProfileResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSCSIAdaptersByHardw" +
            "areProfileHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualSCSIAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualSCSIAdapterRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVMVirtualSCSIAdapterHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewVMVirtualSCSIAdapter(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualSCSIAdapter" +
            "", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualSCSIAdapter" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateVirtualSCSIAdapter" +
            "HostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewTemplateVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualSCSI" +
            "Adapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualSCSI" +
            "AdapterResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewHardwareProfileVirtualSCSI" +
            "AdapterHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewHardwareProfileVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualSCSIAdapter", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualSCSIAdapterRespo" +
            "nse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualSCSIAdapterHosti" +
            "ngServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo adapter, System.Guid jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostClusters", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostClustersResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostClustersHostingService" +
            "FaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo[] GetHostClusters();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostClusterByName", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostClusterByNameResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostClusterByNameHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo GetHostClusterByName(string clusterName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostDisksByHost", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostDisksByHostResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostDisksByHostHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostDiskInfo[] GetHostDisksByHost(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostVolumes", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostVolumesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostVolumesHostingServiceF" +
            "aultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostVolumeInfo[] GetHostVolumes(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemMemorySetting" +
            "", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemMemorySetting" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemMemorySetting" +
            "HostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.MemorySettingInfo GetVirtualSystemMemorySetting(string vmName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/ChangeVirtualSystemMemorySett" +
            "ing", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/ChangeVirtualSystemMemorySett" +
            "ingResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/ChangeVirtualSystemMemorySett" +
            "ingHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        bool ChangeVirtualSystemMemorySetting(string vmName, SolidCP.Providers.VirtualizationForPC.SVMMService.MemorySettingInfo setting);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemThumbnailImag" +
            "e", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemThumbnailImag" +
            "eResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualSystemThumbnailImag" +
            "eHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        byte[] GetVirtualSystemThumbnailImage(int imgWidth, int imgHeight, string systemName, string serverName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineByName", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineByNameRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineByNameHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo GetVirtualMachineByName(string virtualMachineName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachinesByHost", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachinesByHostRespo" +
            "nse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachinesByHostHosti" +
            "ngServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo[] GetVirtualMachinesByHost(string hostName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetAllVirtualMachines", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetAllVirtualMachinesResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetAllVirtualMachinesHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo[] GetAllVirtualMachines();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/PauseVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/PauseVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/PauseVirtualMachineHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void PauseVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/StartVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/StartVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/StartVirtualMachineHostingSer" +
            "viceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void StartVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/StopVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/StopVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/StopVirtualMachineHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void StopVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/SaveVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/SaveVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/SaveVirtualMachineHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void SaveVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/SuspendVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/SuspendVirtualMachineResponse" +
            "")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/SuspendVirtualMachineHostingS" +
            "erviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void SuspendVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachineHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void DeleteVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/ShutdownVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/ShutdownVirtualMachineRespons" +
            "e")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/ShutdownVirtualMachineHosting" +
            "ServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void ShutdownVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/ResumeVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/ResumeVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/ResumeVirtualMachineHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void ResumeVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/MoveVirtualMachineHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void MoveVirtualMachine(System.Guid vmId, System.Guid hostId, string path, bool startVM, bool useLan, bool runAsynchronously, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveVirtualMachineHostingSe" +
            "rviceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveVirtualMachine(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/SetVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/SetVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/SetVirtualMachineHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo SetVirtualMachine(
                    System.Guid vmId, 
                    System.Nullable<System.Guid> jobGroup, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] bootOrder, 
                    string costCenter, 
                    System.Nullable<byte> cpuCount, 
                    System.Nullable<int> cpuMax, 
                    System.Nullable<int> cpuReserve, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string[] customProperties, 
                    System.Nullable<int> delayStart, 
                    string description, 
                    System.Nullable<int> diskIO, 
                    System.Nullable<int> expectedCPUUtilization, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<bool> limitCPUForMigration, 
                    System.Nullable<bool> limitCPUFunctionality, 
                    System.Nullable<int> memory, 
                    string name, 
                    System.Nullable<int> networkUtilization, 
                    System.Nullable<bool> numLockEnabled, 
                    System.Nullable<System.Guid> operatingSystemId, 
                    string owner, 
                    System.Nullable<int> relativeWeight, 
                    string tag, 
                    bool runAsync);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachine", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachine(string vmName, string description, string owner, SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo libServer, string sharePath, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, System.Nullable<int> delayStart, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromVMRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromVMHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachineFromVM(System.Guid vmId, string vmName, string description, string owner, SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo library, string sharePath, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwConfig, System.Nullable<System.Guid> jobGroup);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromTemplate" +
            "", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromTemplate" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineFromTemplate" +
            "HostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachineFromTemplate(
                    SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, 
                    string vmName, 
                    string description, 
                    string owner, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo vmHost, 
                    string vmPath, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwconfig, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo osconfig, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<System.Guid> jobGroupId, 
                    string computerName, 
                    string fullName, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string[] guiRunOnceCommands, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    string orgName, 
                    string productKey, 
                    System.Nullable<int> timeZone);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineCheckpoints", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineCheckpointsR" +
            "esponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVirtualMachineCheckpointsH" +
            "ostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] GetVirtualMachineCheckpoints(System.Guid vmId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineCheckpoint", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineCheckpointRe" +
            "sponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewVirtualMachineCheckpointHo" +
            "stingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo NewVirtualMachineCheckpoint(System.Guid vmId, string name, string description);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RestoreVirtualMachineCheckpoi" +
            "nt", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RestoreVirtualMachineCheckpoi" +
            "ntResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RestoreVirtualMachineCheckpoi" +
            "ntHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RestoreVirtualMachineCheckpoint(string checkpointId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachineCheckpoin" +
            "t", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachineCheckpoin" +
            "tResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/DeleteVirtualMachineCheckpoin" +
            "tHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void DeleteVirtualMachineCheckpoint(string checkpointId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHosts", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostsHostingServiceFaultFa" +
            "ult", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo[] GetHosts();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostByName", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostByNameResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostByNameHostingServiceFa" +
            "ultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo GetHostByName(string hostName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHostById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHostByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHostByIdHostingServiceFaul" +
            "tFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo GetHostById(System.Guid hostId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByCluster", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByClusterResp" +
            "onse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByClusterHost" +
            "ingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VMHostRatingInfo[] GetVMHostRatingsByCluster(System.Guid vmId, bool isMigration, string clusterName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetTemplates", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetTemplatesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetTemplatesHostingServiceFau" +
            "ltFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo[] GetTemplates();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByHost", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByHostRespons" +
            "e")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetVMHostRatingsByHostHosting" +
            "ServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.VMHostRatingInfo[] GetVMHostRatingsByHost(System.Guid vmId, bool isMigration, SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetTaskById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetTaskByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetTaskByIdHostingServiceFaul" +
            "tFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo GetTaskById(System.Guid taskId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetTasks", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetTasksResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetTasksHostingServiceFaultFa" +
            "ult", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo[] GetTasks();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetTaskByName", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetTaskByNameResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetTaskByNameHostingServiceFa" +
            "ultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo GetTaskByName(string name);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetTemplateById", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetTemplateByIdResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetTemplateByIdHostingService" +
            "FaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo GetTemplateById(System.Guid templateId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateHostingServiceFaul" +
            "tFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplate(
                    string name, 
                    string description, 
                    string owner, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVM", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVMResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVMHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromVM(
                    string name, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo libServer, 
                    string sharePath, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo vm, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVHD", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVHDResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromVHDHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromVHD(
                    string name, 
                    System.Guid vhdId, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromTemplate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromTemplateRespon" +
            "se")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/NewTemplateFromTemplateHostin" +
            "gServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromTemplate(
                    string name, 
                    System.Guid templateId, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/RemoveTemplate", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/RemoveTemplateResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/RemoveTemplateHostingServiceF" +
            "aultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        void RemoveTemplate(System.Guid templateId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServers", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServersResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServersHostingServi" +
            "ceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo[] GetLibraryServers();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServerByComputerNam" +
            "e", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServerByComputerNam" +
            "eResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetLibraryServerByComputerNam" +
            "eHostingServiceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo GetLibraryServerByComputerName(string computerName);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProfles", ReplyAction="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProflesResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(SolidCP.Providers.VirtualizationForPC.SVMMService.HostingServiceFault), Action="http://tempuri.org/IVirtualMachineManagementService/GetHardwareProflesHostingServ" +
            "iceFaultFault", Name="HostingServiceFault", Namespace="http://Microsoft.Hosting.FaultContracts/2007/04")]
        SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo[] GetHardwareProfles();
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IVirtualMachineManagementServiceChannel : SolidCP.Providers.VirtualizationForPC.SVMMService.IVirtualMachineManagementService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class VirtualMachineManagementServiceClient : System.ServiceModel.ClientBase<SolidCP.Providers.VirtualizationForPC.SVMMService.IVirtualMachineManagementService>, SolidCP.Providers.VirtualizationForPC.SVMMService.IVirtualMachineManagementService {
        
        public VirtualMachineManagementServiceClient() {
        }
        
        public VirtualMachineManagementServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public VirtualMachineManagementServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public VirtualMachineManagementServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public VirtualMachineManagementServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo[] GetISOs() {
            return base.Channel.GetISOs();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo GetISOById(System.Guid isoId) {
            return base.Channel.GetISOById(isoId);
        }
        
        public void RemoveISO(SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso) {
            base.Channel.RemoveISO(iso);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo[] GetProcessorTypes() {
            return base.Channel.GetProcessorTypes();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo GetProcessorTypeById(System.Guid id) {
            return base.Channel.GetProcessorTypeById(id);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo[] GetScripts() {
            return base.Channel.GetScripts();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo GetScriptById(System.Guid id) {
            return base.Channel.GetScriptById(id);
        }
        
        public void RemoveScript(SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo script) {
            base.Channel.RemoveScript(script);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo[] GetOperatingSystems() {
            return base.Channel.GetOperatingSystems();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo GetOperatingSystemById(System.Guid id) {
            return base.Channel.GetOperatingSystemById(id);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] GetVirtualDiskDrivesByVM(System.Guid vmId) {
            return base.Channel.GetVirtualDiskDrivesByVM(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo NewVMVirtualDiskDriveFromVHD(System.Guid vmId, System.Guid vhdId, byte bus, byte lun, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, string destinationFileName, System.Nullable<System.Guid> jobGroup) {
            return base.Channel.NewVMVirtualDiskDriveFromVHD(vmId, vhdId, bus, lun, busType, destinationFileName, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo NewVMVirtualDiskDrive(System.Guid vmId, long size, byte bus, byte lun, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDTypeInfo vhdType, SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, string destinationFileName, System.Nullable<System.Guid> jobGroup) {
            return base.Channel.NewVMVirtualDiskDrive(vmId, size, bus, lun, vhdType, busType, destinationFileName, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDiskDriveInfo[] GetVirtualDiskDrivesByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.GetVirtualDiskDrivesByTemplate(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo GetHardwareProfileById(System.Guid hardwareProfileId) {
            return base.Channel.GetHardwareProfileById(hardwareProfileId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo NewHardwareProfile(
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo processor, 
                    string owner, 
                    System.Nullable<System.Guid> jobGroup, 
                    string name, 
                    string description, 
                    byte cpuCount, 
                    int memory, 
                    System.Nullable<int> expectedCPUUtilization, 
                    System.Nullable<int> diskIO, 
                    System.Nullable<int> cpuMax, 
                    System.Nullable<int> cpuReserve, 
                    System.Nullable<int> networkUtilization, 
                    System.Nullable<int> relativeWeight, 
                    bool isHighlyAvailable, 
                    System.Nullable<bool> numLockEnabled, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] bootOrder, 
                    System.Nullable<bool> limitProcessorFunctionality, 
                    System.Nullable<bool> limitProcessorForMigration) {
            return base.Channel.NewHardwareProfile(processor, owner, jobGroup, name, description, cpuCount, memory, expectedCPUUtilization, diskIO, cpuMax, cpuReserve, networkUtilization, relativeWeight, isHighlyAvailable, numLockEnabled, bootOrder, limitProcessorFunctionality, limitProcessorForMigration);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo CloneHardwareProfile(string name, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo oldProfile) {
            return base.Channel.CloneHardwareProfile(name, oldProfile);
        }
        
        public void RemoveHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile) {
            base.Channel.RemoveHardwareProfile(profile);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo[] GetGuestOSProfiles() {
            return base.Channel.GetGuestOSProfiles();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo GetGuestOSProfileById(System.Guid id) {
            return base.Channel.GetGuestOSProfileById(id);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo NewGuestOSProfile(
                    string name, 
                    string description, 
                    string computerName, 
                    string fullName, 
                    string orgName, 
                    bool hasProductKey, 
                    string productKey, 
                    System.Nullable<int> timeZone, 
                    string adminUserName, 
                    string adminPassword, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinDomain, 
                    string joinWorkgroup, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string owner) {
            return base.Channel.NewGuestOSProfile(name, description, computerName, fullName, orgName, hasProductKey, productKey, timeZone, adminUserName, adminPassword, joinDomainUserName, joinDomainPassword, joinDomain, joinWorkgroup, guiRunOnceCommands, answerFile, mergeAnswerFile, operatingSystem, owner);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo CloneGuestOSProfile(string name, SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo originalProfile) {
            return base.Channel.CloneGuestOSProfile(name, originalProfile);
        }
        
        public void RemoveGuestOSProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo profile) {
            base.Channel.RemoveGuestOSProfile(profile);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisks() {
            return base.Channel.GetVirtualHardDisks();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisksByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.GetVirtualHardDisksByTemplate(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualHardDiskInfo[] GetVirtualHardDisksByVM(System.Guid vmId) {
            return base.Channel.GetVirtualHardDisksByVM(vmId);
        }
        
        public void MoveVirtualHardDiskById(System.Guid vhdId, string destination, System.Nullable<System.Guid> jobGroup) {
            base.Channel.MoveVirtualHardDiskById(vhdId, destination, jobGroup);
        }
        
        public void MoveVirtualHardDisk(SolidCP.Providers.VirtualizationForPC.SVMMService.VHDBusTypeInfo busType, byte bus, byte lun, string destination, System.Nullable<System.Guid> jobGroup) {
            base.Channel.MoveVirtualHardDisk(busType, bus, lun, destination, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByVM(System.Guid vmId) {
            return base.Channel.GetVirtualNetworkAdaptersByVM(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.GetVirtualNetworkAdaptersByTemplate(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo[] GetVirtualNetworkAdaptersByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile) {
            return base.Channel.GetVirtualNetworkAdaptersByHardwareProfile(profile);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewVMVirtualNetworkAdapter(System.Guid vmId, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork) {
            return base.Channel.NewVMVirtualNetworkAdapter(vmId, address, addressType, virtualNetwork);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewTemplateVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork) {
            return base.Channel.NewTemplateVirtualNetworkAdapter(template, address, addressType, virtualNetwork);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo NewHardwareProfileVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork) {
            return base.Channel.NewHardwareProfileVirtualNetworkAdapter(profile, address, addressType, virtualNetwork);
        }
        
        public void RemoveVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo adapter, bool runAsync, System.Nullable<System.Guid> jobGroup) {
            base.Channel.RemoveVirtualNetworkAdapter(adapter, runAsync, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo SetVirtualNetworkAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkAdapterInfo adapter, string address, System.Nullable<SolidCP.Providers.VirtualizationForPC.SVMMService.EthernetAddressTypeInfo> addressType, string virtualNetwork, string location, string tag, System.Nullable<bool> vLanEnabled, ushort vLanId, bool runAsync, System.Nullable<System.Guid> jobGroup) {
            return base.Channel.SetVirtualNetworkAdapter(adapter, address, addressType, virtualNetwork, location, tag, vLanEnabled, vLanId, runAsync, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualNetworkInfo[] GetVirtualNetworkByHost(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host) {
            return base.Channel.GetVirtualNetworkByHost(host);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByVM(System.Guid vmId) {
            return base.Channel.GetVirtualCOMPortsByVM(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.GetVirtualCOMPortsByTemplate(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualCOMPortInfo[] GetVirtualCOMPortsByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile) {
            return base.Channel.GetVirtualCOMPortsByHardwareProfile(profile);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo[] GetVirtualDVDDrivesByVM(System.Guid vmId) {
            return base.Channel.GetVirtualDVDDrivesByVM(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewVMVirtualDVDDrive(System.Guid vmId, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun) {
            return base.Channel.NewVMVirtualDVDDrive(vmId, iso, hostDrive, bus, lun);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewTemplateVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun) {
            return base.Channel.NewTemplateVirtualDVDDrive(template, iso, hostDrive, bus, lun);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo NewHardwareProfileVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile, SolidCP.Providers.VirtualizationForPC.SVMMService.ISOInfo iso, string hostDrive, byte bus, byte lun) {
            return base.Channel.NewHardwareProfileVirtualDVDDrive(profile, iso, hostDrive, bus, lun);
        }
        
        public void RemoveVirtualDVDDrive(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualDVDDriveInfo dvd, System.Nullable<System.Guid> jobGroup) {
            base.Channel.RemoveVirtualDVDDrive(dvd, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByVM(System.Guid vmId) {
            return base.Channel.GetVirtualSCSIAdaptersByVM(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByTemplate(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.GetVirtualSCSIAdaptersByTemplate(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo[] GetVirtualSCSIAdaptersByHardwareProfile(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile) {
            return base.Channel.GetVirtualSCSIAdaptersByHardwareProfile(profile);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewVMVirtualSCSIAdapter(System.Guid vmId) {
            return base.Channel.NewVMVirtualSCSIAdapter(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewTemplateVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template) {
            return base.Channel.NewTemplateVirtualSCSIAdapter(template);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo NewHardwareProfileVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo profile) {
            return base.Channel.NewHardwareProfileVirtualSCSIAdapter(profile);
        }
        
        public void RemoveVirtualSCSIAdapter(SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualSCSIAdapterInfo adapter, System.Guid jobGroup) {
            base.Channel.RemoveVirtualSCSIAdapter(adapter, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo[] GetHostClusters() {
            return base.Channel.GetHostClusters();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostClusterInfo GetHostClusterByName(string clusterName) {
            return base.Channel.GetHostClusterByName(clusterName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostDiskInfo[] GetHostDisksByHost(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host) {
            return base.Channel.GetHostDisksByHost(host);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostVolumeInfo[] GetHostVolumes(SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host) {
            return base.Channel.GetHostVolumes(host);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.MemorySettingInfo GetVirtualSystemMemorySetting(string vmName) {
            return base.Channel.GetVirtualSystemMemorySetting(vmName);
        }
        
        public bool ChangeVirtualSystemMemorySetting(string vmName, SolidCP.Providers.VirtualizationForPC.SVMMService.MemorySettingInfo setting) {
            return base.Channel.ChangeVirtualSystemMemorySetting(vmName, setting);
        }
        
        public byte[] GetVirtualSystemThumbnailImage(int imgWidth, int imgHeight, string systemName, string serverName) {
            return base.Channel.GetVirtualSystemThumbnailImage(imgWidth, imgHeight, systemName, serverName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo GetVirtualMachineByName(string virtualMachineName) {
            return base.Channel.GetVirtualMachineByName(virtualMachineName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo[] GetVirtualMachinesByHost(string hostName) {
            return base.Channel.GetVirtualMachinesByHost(hostName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo[] GetAllVirtualMachines() {
            return base.Channel.GetAllVirtualMachines();
        }
        
        public void PauseVirtualMachine(System.Guid vmId) {
            base.Channel.PauseVirtualMachine(vmId);
        }
        
        public void StartVirtualMachine(System.Guid vmId) {
            base.Channel.StartVirtualMachine(vmId);
        }
        
        public void StopVirtualMachine(System.Guid vmId) {
            base.Channel.StopVirtualMachine(vmId);
        }
        
        public void SaveVirtualMachine(System.Guid vmId) {
            base.Channel.SaveVirtualMachine(vmId);
        }
        
        public void SuspendVirtualMachine(System.Guid vmId) {
            base.Channel.SuspendVirtualMachine(vmId);
        }
        
        public void DeleteVirtualMachine(System.Guid vmId) {
            base.Channel.DeleteVirtualMachine(vmId);
        }
        
        public void ShutdownVirtualMachine(System.Guid vmId) {
            base.Channel.ShutdownVirtualMachine(vmId);
        }
        
        public void ResumeVirtualMachine(System.Guid vmId) {
            base.Channel.ResumeVirtualMachine(vmId);
        }
        
        public void MoveVirtualMachine(System.Guid vmId, System.Guid hostId, string path, bool startVM, bool useLan, bool runAsynchronously, System.Nullable<System.Guid> jobGroup) {
            base.Channel.MoveVirtualMachine(vmId, hostId, path, startVM, useLan, runAsynchronously, jobGroup);
        }
        
        public void RemoveVirtualMachine(System.Guid vmId) {
            base.Channel.RemoveVirtualMachine(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo SetVirtualMachine(
                    System.Guid vmId, 
                    System.Nullable<System.Guid> jobGroup, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.BootDeviceInfo[] bootOrder, 
                    string costCenter, 
                    System.Nullable<byte> cpuCount, 
                    System.Nullable<int> cpuMax, 
                    System.Nullable<int> cpuReserve, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string[] customProperties, 
                    System.Nullable<int> delayStart, 
                    string description, 
                    System.Nullable<int> diskIO, 
                    System.Nullable<int> expectedCPUUtilization, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<bool> limitCPUForMigration, 
                    System.Nullable<bool> limitCPUFunctionality, 
                    System.Nullable<int> memory, 
                    string name, 
                    System.Nullable<int> networkUtilization, 
                    System.Nullable<bool> numLockEnabled, 
                    System.Nullable<System.Guid> operatingSystemId, 
                    string owner, 
                    System.Nullable<int> relativeWeight, 
                    string tag, 
                    bool runAsync) {
            return base.Channel.SetVirtualMachine(vmId, jobGroup, bootOrder, costCenter, cpuCount, cpuMax, cpuReserve, cpuType, customProperties, delayStart, description, diskIO, expectedCPUUtilization, isHighlyAvailable, limitCPUForMigration, limitCPUFunctionality, memory, name, networkUtilization, numLockEnabled, operatingSystemId, owner, relativeWeight, tag, runAsync);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachine(string vmName, string description, string owner, SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo libServer, string sharePath, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, System.Nullable<int> delayStart, System.Nullable<System.Guid> jobGroup) {
            return base.Channel.NewVirtualMachine(vmName, description, owner, libServer, sharePath, hwcfg, delayStart, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachineFromVM(System.Guid vmId, string vmName, string description, string owner, SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo library, string sharePath, SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwConfig, System.Nullable<System.Guid> jobGroup) {
            return base.Channel.NewVirtualMachineFromVM(vmId, vmName, description, owner, library, sharePath, hwConfig, jobGroup);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo NewVirtualMachineFromTemplate(
                    SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo template, 
                    string vmName, 
                    string description, 
                    string owner, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo vmHost, 
                    string vmPath, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwconfig, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo osconfig, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<System.Guid> jobGroupId, 
                    string computerName, 
                    string fullName, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string[] guiRunOnceCommands, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    string orgName, 
                    string productKey, 
                    System.Nullable<int> timeZone) {
            return base.Channel.NewVirtualMachineFromTemplate(template, vmName, description, owner, vmHost, vmPath, hwconfig, osconfig, adminUserName, adminPassword, answerFile, jobGroupId, computerName, fullName, joinDomain, joinDomainUserName, mergeAnswerFile, operatingSystem, guiRunOnceCommands, joinDomainPassword, joinWorkgroup, orgName, productKey, timeZone);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo[] GetVirtualMachineCheckpoints(System.Guid vmId) {
            return base.Channel.GetVirtualMachineCheckpoints(vmId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMCheckpointInfo NewVirtualMachineCheckpoint(System.Guid vmId, string name, string description) {
            return base.Channel.NewVirtualMachineCheckpoint(vmId, name, description);
        }
        
        public void RestoreVirtualMachineCheckpoint(string checkpointId) {
            base.Channel.RestoreVirtualMachineCheckpoint(checkpointId);
        }
        
        public void DeleteVirtualMachineCheckpoint(string checkpointId) {
            base.Channel.DeleteVirtualMachineCheckpoint(checkpointId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo[] GetHosts() {
            return base.Channel.GetHosts();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo GetHostByName(string hostName) {
            return base.Channel.GetHostByName(hostName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo GetHostById(System.Guid hostId) {
            return base.Channel.GetHostById(hostId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMHostRatingInfo[] GetVMHostRatingsByCluster(System.Guid vmId, bool isMigration, string clusterName) {
            return base.Channel.GetVMHostRatingsByCluster(vmId, isMigration, clusterName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo[] GetTemplates() {
            return base.Channel.GetTemplates();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.VMHostRatingInfo[] GetVMHostRatingsByHost(System.Guid vmId, bool isMigration, SolidCP.Providers.VirtualizationForPC.SVMMService.HostInfo host) {
            return base.Channel.GetVMHostRatingsByHost(vmId, isMigration, host);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo GetTaskById(System.Guid taskId) {
            return base.Channel.GetTaskById(taskId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo[] GetTasks() {
            return base.Channel.GetTasks();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TaskInfo GetTaskByName(string name) {
            return base.Channel.GetTaskByName(name);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo GetTemplateById(System.Guid templateId) {
            return base.Channel.GetTemplateById(templateId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplate(
                    string name, 
                    string description, 
                    string owner, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone) {
            return base.Channel.NewTemplate(name, description, owner, adminUserName, adminPassword, answerFile, computerName, cpuCount, cpuType, fullName, oscfg, guiRunOnceCommands, hwcfg, isHighlyAvailable, jobGroup, joinDomain, joinDomainUserName, joinDomainPassword, joinWorkgroup, memory, mergeAnswerFile, operatingSystem, orgName, productKey, relativeWeight, timeZone);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromVM(
                    string name, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo libServer, 
                    string sharePath, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.VirtualMachineInfo vm, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone) {
            return base.Channel.NewTemplateFromVM(name, libServer, sharePath, vm, adminUserName, adminPassword, answerFile, bootVirtualhardDisk, computerName, cpuCount, cpuType, description, fullName, oscfg, guiRunOnceCommands, hwcfg, isHighlyAvailable, jobGroup, joinDomain, joinDomainUserName, joinDomainPassword, joinWorkgroup, memory, mergeAnswerFile, operatingSystem, orgName, owner, productKey, relativeWeight, timeZone);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromVHD(
                    string name, 
                    System.Guid vhdId, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone) {
            return base.Channel.NewTemplateFromVHD(name, vhdId, adminUserName, adminPassword, answerFile, bootVirtualhardDisk, computerName, cpuCount, cpuType, description, fullName, oscfg, guiRunOnceCommands, hwcfg, isHighlyAvailable, jobGroup, joinDomain, joinDomainUserName, joinDomainPassword, joinWorkgroup, memory, mergeAnswerFile, operatingSystem, orgName, owner, productKey, relativeWeight, timeZone);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.TemplateInfo NewTemplateFromTemplate(
                    string name, 
                    System.Guid templateId, 
                    string adminUserName, 
                    string adminPassword, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ScriptInfo answerFile, 
                    System.Nullable<bool> bootVirtualhardDisk, 
                    string computerName, 
                    System.Nullable<byte> cpuCount, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.ProcessorTypeInfo cpuType, 
                    string description, 
                    string fullName, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.GuestOSProfileInfo oscfg, 
                    string[] guiRunOnceCommands, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo hwcfg, 
                    System.Nullable<bool> isHighlyAvailable, 
                    System.Nullable<System.Guid> jobGroup, 
                    string joinDomain, 
                    string joinDomainUserName, 
                    string joinDomainPassword, 
                    string joinWorkgroup, 
                    System.Nullable<int> memory, 
                    bool mergeAnswerFile, 
                    SolidCP.Providers.VirtualizationForPC.SVMMService.OperatingSystemInfo operatingSystem, 
                    string orgName, 
                    string owner, 
                    string productKey, 
                    System.Nullable<int> relativeWeight, 
                    System.Nullable<int> timeZone) {
            return base.Channel.NewTemplateFromTemplate(name, templateId, adminUserName, adminPassword, answerFile, bootVirtualhardDisk, computerName, cpuCount, cpuType, description, fullName, oscfg, guiRunOnceCommands, hwcfg, isHighlyAvailable, jobGroup, joinDomain, joinDomainUserName, joinDomainPassword, joinWorkgroup, memory, mergeAnswerFile, operatingSystem, orgName, owner, productKey, relativeWeight, timeZone);
        }
        
        public void RemoveTemplate(System.Guid templateId) {
            base.Channel.RemoveTemplate(templateId);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo[] GetLibraryServers() {
            return base.Channel.GetLibraryServers();
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.LibraryServerInfo GetLibraryServerByComputerName(string computerName) {
            return base.Channel.GetLibraryServerByComputerName(computerName);
        }
        
        public SolidCP.Providers.VirtualizationForPC.SVMMService.HardwareProfileInfo[] GetHardwareProfles() {
            return base.Channel.GetHardwareProfles();
        }
    }
}
